当前位置: 首页 > news >正文

维护网站是什么意思网页开发步骤

维护网站是什么意思,网页开发步骤,温州网页设计培训,乔拓云官网免费背景 Background ​ 最近想学习一下量化金融#xff0c;总算在盈透投资者教育#xff08;IBKRCampus#xff09;板块找到一篇比较好的算法交易入门教程。我在记录实践过程后#xff0c;翻译成中文写成此csdn博客#xff0c;分享给大家。 ​ 如果你的英语好可以直接看原文…背景 Background ​ 最近想学习一下量化金融总算在盈透投资者教育IBKRCampus板块找到一篇比较好的算法交易入门教程。我在记录实践过程后翻译成中文写成此csdn博客分享给大家。 ​ 如果你的英语好可以直接看原文。原文在数据准备阶段采用了 pandas_datareader.data 读取网络数据实际中出现了很多问题我换成了 yfinance。可以参考文末完整代码。 参考资料https://www.interactivebrokers.com/campus/ibkr-quant-news/basic-trading-algorithms-in-python/ 算法交易简介 Introduction ​ 算法交易的兴起改变了金融市场让交易者能够在数据驱动下做出精确的决策。具备 Pandas 和 NumPy 等强大第三方库的 Python 语言是开发交易算法的首选。本文将指导您利用这些库在 Python 中创建基本的交易算法。 ​ 算法交易指的是使用远超过人类能力的计算机程序去提升交易速度和频率这些算法通过分析市场数据观察交易时机基于预先给定的规则去执行交易命令。 ​ 算法交易有一些核心优势包括 速度指令可以在低于百万分之一秒的时间内运行 准确度减少人类的操作误差 连续性持续操作不会像人类一样感到疲倦 为什么使用 Python 进行交易 Why Use Python Python的简洁语法和灵活性支持大量不同种类的第三方库使其成为交易算法的理想语言。这篇文章主要聚焦于两个主要的第三方库Pandas和NumPy。 Pandas对于数据管理和分析提供了一系列数据结构和函数可以毫不费力与这些结构化数据协同工作 NumPy对于数学计算处理巨大的、多维的数组和矩阵有一系列配套的数学函数。 其他有用的Python库包括 scikit-learning用于在算法交易中加入机器学习内容matplotlib用于过程和结构的数据可视化 准备开发环境 Environment 创建 Conda 环境 安装 Pandas 和 NumPy 库 数据获取和预处理 Data preparation import yfinance as yf import datetime import numpy as np # data preparation # Define the start and end date start datetime.datetime(2020, 1, 1) end datetime.datetime(2022, 1, 1)# Fetch data for a particular stockstock_data yf.download(AAPL, start2022-01-01, end2022-12-31) print(stock_data.head())计算技术指标 Technical Indicators 移动均线 Moving AverageMA # technical indicator # Simple Moving Average (SMA) stock_data[SMA_20] stock_data[Adj Close].rolling(window20).mean() # Exponential Moving Average (EMA) stock_data[EMA_20] stock_data[Adj Close].ewm(span20, adjustFalse).mean() 相对力量指数 Relative Strength IndexRSI # RSI def calculate_rsi(data, window):delta data[Adj Close].diff(1)gain (delta.where(delta 0, 0)).rolling(windowwindow).mean()loss (-delta.where(delta 0, 0)).rolling(windowwindow).mean()rs gain / lossrsi 100 - (100 / (1 rs))return rsistock_data[RSI_14] calculate_rsi(stock_data, 14)一个基础的交易算法 A Basic Trading Algorithm 定义策略 Define the Strategy # Define a strategy # Calculate longer-term SMA stock_data[SMA_50] stock_data[Adj Close].rolling(window50).mean()# Create buy/sell signals stock_data[Signal] 0 stock_data.loc[stock_data.index[20]:, Signal] np.where(stock_data.loc[stock_data.index[20]:, SMA_20] stock_data.loc[stock_data.index[20]:, SMA_50], 1, 0) stock_data[Position] stock_data[Signal].diff() 回测策略 Backtesting the Strategy # Backtest initial_capital 100000.0 stock_data[Holdings] stock_data[Adj Close] * stock_data[Position].cumsum() stock_data[Cash] initial_capital - (stock_data[Adj Close] * stock_data[Position]).cumsum() stock_data[Total] stock_data[Cash] stock_data[Holdings]分析结果 Analyzing the Results # Analizing results cumulative_returns (stock_data[Total].iloc[-1] - initial_capital) / initial_capital average_daily_returns stock_data[Returns].mean() volatility stock_data[Returns].std()print(Cumulative Returns: {:.2f}%.format(cumulative_returns * 100)) print(Average Daily Returns: {:.4f}.format(average_daily_returns)) print(Volatility: {:.4f}.format(volatility))结论 Conclusion ​ 利用Python的Pandas和NumPy库开发基础交易算法是一个有利的手段去驱使数据为交易决定增加信息。这篇文章提供了一个基础的指导去准备数据、计算技术指标、完成一个简单的交易策略和评估其表现。 ​ 当你继续探索和试图打磨你的算法的时候记住金融市场是复杂和持续变化的。 ​ 不断的学习和适应市场环境是在算法交易中取得成功的关键。 完整代码 Code import yfinance as yf import datetime import numpy as np # data preparation # Define the start and end date start datetime.datetime(2020, 1, 1) end datetime.datetime(2022, 1, 1)# Fetch data for a particular stockstock_data yf.download(AAPL, start2022-01-01, end2022-12-31) print(stock_data.head())# technical indicator # Simple Moving Average (SMA) stock_data[SMA_20] stock_data[Adj Close].rolling(window20).mean()# Exponential Moving Average (EMA) stock_data[EMA_20] stock_data[Adj Close].ewm(span20, adjustFalse).mean()# RSI def calculate_rsi(data, window):delta data[Adj Close].diff(1)gain (delta.where(delta 0, 0)).rolling(windowwindow).mean()loss (-delta.where(delta 0, 0)).rolling(windowwindow).mean()rs gain / lossrsi 100 - (100 / (1 rs))return rsistock_data[RSI_14] calculate_rsi(stock_data, 14)# Define a strategy # Calculate longer-term SMA stock_data[SMA_50] stock_data[Adj Close].rolling(window50).mean()# Create buy/sell signals stock_data[Signal] 0 stock_data.loc[stock_data.index[20]:, Signal] np.where(stock_data.loc[stock_data.index[20]:, SMA_20] stock_data.loc[stock_data.index[20]:, SMA_50], 1, 0) stock_data[Position] stock_data[Signal].diff() # Backtest initial_capital 100000.0 stock_data[Holdings] stock_data[Adj Close] * stock_data[Position].cumsum() stock_data[Cash] initial_capital - (stock_data[Adj Close] * stock_data[Position]).cumsum() stock_data[Total] stock_data[Cash] stock_data[Holdings]# Calculate returns stock_data[Returns] stock_data[Total].pct_change()# Print final portfolio value print(Final Portfolio Value: ${}.format(stock_data[Total].iloc[-1]))# Analizing results cumulative_returns (stock_data[Total].iloc[-1] - initial_capital) / initial_capital average_daily_returns stock_data[Returns].mean() volatility stock_data[Returns].std()print(Cumulative Returns: {:.2f}%.format(cumulative_returns * 100)) print(Average Daily Returns: {:.4f}.format(average_daily_returns)) print(Volatility: {:.4f}.format(volatility))
http://www.dnsts.com.cn/news/191605.html

相关文章:

  • 大型行业网站域名升级维护中紧急维护
  • 宿州网站制作建设wordpress 登入
  • 滨江区网站开发公司qq推广加好友
  • 网站的开发环境莆田 网站建设
  • 织梦能做视频网站吗游戏推广公司
  • 网站开发实习报告wix怎样做网站
  • 湘潭做网站找磐石网络一流给网站做缓存
  • 佛山网站建设专家网站建设 教学视频
  • 刚开始做网站布局很吃力 怎么办有没有哪些可以看片的
  • 网站平台建设做好公司宣传网站建设基本模板介绍
  • 东莞英文建站公司alexa全球网站排名
  • 网站开发的形式有网站制作的市场前景
  • 设计素材网站哪个最好推荐wordpress编辑器 代码
  • 描述个人网站的建站过程广告投放方案
  • 四川省住房和城乡建设厅官网站网义乌哪里做网站好
  • 自己做的网站怎样对接支付宝域名服务器ip
  • vs做网站示例成都建设高端网站
  • 江门网站设计华企立方陕西网络公司
  • 网站的关于页面广告设计专业课程
  • 网络营销网站推广的基本策略企业邮箱认证
  • 网站模板分享双鸭山网站建设公司
  • 铜川矿业公司网站爱站网站长百度查询权重
  • 黄冈个人网站建设平台京东app下载安装
  • 网站怎么怎么做关键字网络游戏营销策略
  • 英文网站 建站网站策划岗位要求
  • 网站被百度降权了怎么办网站开发大赛
  • 自动获取网站缩略图阿里云做的网站程序员
  • 云南网站做的好的公司哪家好湛江做网站从
  • 网站建设费用自建什么网站可以兼职做平面设计
  • 注册网站建设开发成品网站源码1688的优势