企业建设网站的空间有哪些,专业的深圳网站建设公司,南京制作网页速成班,如何购买网站虚拟主机在上一章节 MACD金死叉中结束了如何根据 MACD 金死叉计算交易信号。 目录 脚本说明文档#xff08;DevChat 生成#xff09;MACD 分析脚本安装依赖库参数配置查询与解析数据计算 MACD 指标判断金叉和死叉计算收益绘制图形运行脚本 本次将根据交易信号#xff0c;模拟交易。更…在上一章节 MACD金死叉中结束了如何根据 MACD 金死叉计算交易信号。 目录 脚本说明文档DevChat 生成MACD 分析脚本安装依赖库参数配置查询与解析数据计算 MACD 指标判断金叉和死叉计算收益绘制图形运行脚本 本次将根据交易信号模拟交易。更加历史数据对MACD金死叉交易策略进行回测看一下收益如何。
下面进行一个简单的实现 定义一个资金池 当出现买入信号且无仓位时全仓买入。买入价为第二日收盘价其实以第二日开盘价计算比较合理。 当出现卖出信号且有仓位时清仓。卖出价为第二日收盘价同样也是以第二日开盘价更合理 以下程序未计算印花税等交易费用。 对金额进行了取整方便展示。
def calculate_profit(prices, signals):capital 100000 # 初始资金000001shares 0 # 持有股票数量position 0 # 0表示空仓1表示持仓balance 0profit []profit.append(capital)for i,singal in signals:if singal buy and position 0 :shares int(capital / prices[i1] / 100)balance int(capital - (shares*prices[i1]*100))position 1elif singal sell and position 1 :capital int(shares * 100 * prices[i1] balance)shares 0 position 0profit.append(capital)return profit对MACD 和收益进行图形化输出
plt.figure(figsize(12, 8))
plt.subplot(3, 1, 1)
plt.plot(df.index, df[close])
plt.title(收盘价)
plt.xlabel(tdate)
plt.ylabel(Price)plt.subplot(3, 1, 2)
plt.title(MACD)
plt.plot(df[DIF],r,linewidth1.0,labelDIF)
plt.plot(df[DEA],y,linewidth1.0,labelDEA)
plt.legend()
plt.grid()plt.subplot(3, 1, 3)
plt.title(收益曲线)
plt.plot(profits,r,linewidth1.0,labelProfit)
plt.bar(range(len(profits)),profits)
plt.ylabel(RMB)
plt.legend()
plt.grid()plt.tight_layout()
plt.show()以下是不同股票的策略回测结果 平安银行000001
全柴动力600218
中航高科600862
脚本说明文档DevChat 生成
再次展示一下 AI 的力量。
MACD 分析脚本
这是一个用于从 TDengine 数据库查询股票收盘价并进行 MACD 分析的 Python 脚本示例。脚本会绘制收盘价曲线、MACD 指标曲线以及收益曲线图。
安装依赖库
确保您已安装以下依赖库
requests 用于发送 RESTful 请求json 用于解析 JSON 响应matplotlib 用于绘制图形pandas 用于处理数据
您可以使用 pip 在命令行中安装它们
pip install requests matplotlib pandas参数配置
在开始之前请根据您的实际情况设置以下参数
hostTDengine 数据库的主机名或 IP 地址portTDengine 数据库的端口号usernameTDengine 数据库的用户名passwordTDengine 数据库的密码db_name数据库名称table_name数据表名称fcode股票代码
查询与解析数据
首先脚本通过 RESTful 请求从 TDengine 数据库中查询收盘价数据。然后将查询结果解析为列表并将时间戳和收盘价分别存储在 timestamps 和 close_prices 数组中。
计算 MACD 指标
接下来使用 calculate_macd 函数计算 MACD 和信号线的值。该函数使用指定的周期参数计算指数移动平均线EMA然后计算 MACD 和信号线。同时还计算了 MACD 的柱状图MACD-Histogram。
判断金叉和死叉
使用 check_macd 函数判断金叉和死叉的位置。该函数遍历 MACD 和信号线数组找到金叉和死叉的位置并将其存储在 crossing_points 数组中。
计算收益
使用 calculate_profit 函数计算根据金叉和死叉信号的策略产生的收益。在此示例中初始资金为 100,000 RMB根据买入和卖出信号以及股票价格的变化计算并存储了每个时刻的资金余额并返回收益数组 profits。
绘制图形
最后脚本使用 matplotlib 库绘制了三个子图。第一个子图展示了收盘价的曲线图第二个子图展示了 MACD 指标的曲线图第三个子图展示了收益曲线。
运行脚本
确保您已正确安装依赖库并设置了正确的参数后您可以执行此 Python 脚本来运行 MACD 分析并绘制图形。
当脚本运行完毕后将会在屏幕上打印金叉和死叉的位置以及对应的时间戳和收盘价。此外图形窗口将显示收盘价、MACD 指标和收益曲线。
请根据您的实际需求对脚本进行自定义和调整。希望这个示例对您有所帮助