1. 准备数据:获取hs300股票2014/6/30到2021/6/30的的股票数据
2. 均线划分:以10天均值作为短线,60天均值作为长线,计算均价
3. 折线图可视化出沪深300股价和10天及60天均价
4. 策略开发:出现金叉时做多,出现死叉做空
5. 分别计算大盘和策略的累积收益,并可视化为折线图
简易版SMA策略复现(用tushare包)
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- CSDN专家-HGJ 2021-09-04 20:06关注
均价计算及折线作图仅可参考,至于策略开发,需根据每个交叉点前后两个均价的比较写个判断,采取不同的sell和buy不同交易方法。
import tushare as ts import pandas as pd df = ts.get_k_data('hs300', start='2014-06-30', end='2021-06-30') #df=pd.read_csv('hs300.csv') pd.set_option('max_rows',None) a10=[] a60=[] for i in range(len(df)): if i<=9: a10.append(df['close'][:i+1].mean()) else: a10.append(df['close'][i-10:i].mean()) if i<=59: a60.append(df['close'][:i+1].mean()) else: a60.append(df['close'][i-60:i].mean()) df['a10']=a10 df['a60']=a60 print(df.head(20)) m = 1000 rev0 = m * (df['close'].tolist()[-1]-df['close'].tolist()[0]) / \ df['close'].tolist()[0]-m#不采取交易策略下的收益 import matplotlib.pyplot as plt plt.plot(df['date'],df['a10'],label='ma10') plt.plot(df['date'], df['a60'], label='ma60') plt.legend() plt.show()
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决评论 打赏 举报无用 1
悬赏问题
- ¥20 白日门传奇少一个启动区服和启动服务器的快捷键,东西都是全的 , 他们说套一个出来就行了 但我就是弄不好,谁看看,
- ¥100 如何用js写一个游戏云存档
- ¥15 ansys fluent计算闪退
- ¥15 有关wireshark抓包的问题
- ¥15 需要写计算过程,不要写代码,求解答,数据都在图上
- ¥15 向数据表用newid方式插入GUID问题
- ¥15 multisim电路设计
- ¥20 用keil,写代码解决两个问题,用库函数
- ¥50 ID中开关量采样信号通道、以及程序流程的设计
- ¥15 U-Mamba/nnunetv2固定随机数种子