日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

量化策略初探——使用tushare进行沪深300ETF双均线策略

發布時間:2024/1/18 编程问答 122 豆豆
生活随笔 收集整理的這篇文章主要介紹了 量化策略初探——使用tushare进行沪深300ETF双均线策略 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

使用tushare采集滬深300ETF數據,并對滬深300ETF采用簡單移動平均、指數移動平均、進行雙均線策略,最后使用backtrader進行回測。

一、基本概念

雙均線策略:運用兩條不同周期的移動平均線,即短周期移動平均線和長周期移動平均線的相對大小,研判買進與賣出時機的策略。由短周期均線自下向上穿越長周期均線,所形成的交點,稱為金叉。當短周期均線自上而下穿越長周期均線,所形成的交點,稱為死叉。

簡單移動平均法:對指定期間內的數據做算術平均,新舊數據的權重一樣。
指數移動平均法:對指定期間的數據賦予不同的權重,每天數據的權重系數以指數等比形式縮小。

從tushare獲取滬深300ETF數據

import pandas as pd import numpy as np import backtrader as bt import datetime,time import tushare as tsdef get_data(ts_code):#獲取滬深300ETF數據pro = ts.pro_api('your token')try :df = pro.fund_daily(ts_code=ts_code)except : time.sleep(0.5)print('獲取數據失敗')else :print('獲取數據成功')#對數據進行處理符合backtrader格式columns = ['trade_date','open','high','low','close','vol']df = df[columns]#轉換日期格式df['trade_date'] = df['trade_date'].apply(lambda x: pd.to_datetime(str(x)))bt_col_dict = {'vol':'volume','trade_date':'datetime'}df = df.rename(columns = bt_col_dict)df = df.set_index('datetime')#openinterest 默認為0df['openinterest'] = 0#由于獲取的數據的第一行是最新數據,需要重新排列,否則最新日期的均線數據為空df=df.sort_index()return dfdf=get_data('510300.SH')

策略準備

當前策略先計算簡單移動平均,后續計算指數移動平均使用bt.indicators.EMA()

class MYstrategy(bt.Strategy):params = dict(pfast = 20, # 快周期pslow = 50) # 慢周期def __init__(self): self.dataclose = self.datas[0].close # Order變量包含持倉數據與狀態self.order = None # 初始化移動平均數據 self.slow_sma = bt.indicators.SMA(self.datas[0], period = self.params.pslow) self.fast_sma = bt.indicators.SMA(self.datas[0], period = self.params.pfast)#backtrader內置函數,可以判斷兩線的交叉點self.crossover = bt.ind.CrossOver(self.fast_sma, self.fast_sma)#訂單相關 def notify_order(self, order):if order.status in [order.Submitted, order.Accepted]:#主動買賣的訂單提交或接受時 - 不觸發return#驗證訂單是否完成if order.status in [order.Completed]:self.bar_executed = len(self) #重置訂單self.order = None#next包含所有交易邏輯def next(self):# 檢測是否有未完成訂單if self.order:return#驗證是否有持倉if not self.position:#如果沒有持倉,尋找開倉信號#SMA快線突破SMA慢線if self.crossover > 0:self.order = self.buy()#SMA快線跌破SMA慢線elif self.crossover < 0:self.order = self.sell()else:# 如果已有持倉,尋找平倉信號,此地方選擇10日之后平倉if len(self) >= (self.bar_executed + 10):self.order = self.close()

策略執行——backtrader回測

def execute_strategy(pfast,pslow):#初始化cerebro = bt.Cerebro(optreturn=False)#設置數據的參數data = bt.feeds.PandasDirectData(dataname=df)cerebro.adddata(data)#加載策略cerebro.addstrategy(MYstrategy,pslow=pslow,pfast=pfast) #設置初始現金cerebro.broker.set_cash(1000000.0)#設置傭金率cerebro.broker.setcommission(commission=0.0001)#設置固定的購買股數#cerebro.addsizer(bt.sizers.FixedSize, stake=100)#分析框架夏普比率和回撤cerebro.addanalyzer(bt.analyzers.SharpeRatio,_name = 'SharpeRatio')cerebro.addanalyzer(bt.analyzers.DrawDown, _name = 'DW')#初始現金start_cash = cerebro.broker.getvalue()#運行result = cerebro.run()#最終現金end_cash=cerebro.broker.getvalue()#利潤計算profit = end_cash-start_cashstrategy = result[0]SR=strategy.analyzers.SharpeRatio.get_analysis()DW=strategy.analyzers.DW.get_analysis()return profit,SR['sharperatio'],DW.drawdown,DW.max.drawdown

策略優化

period = [1,5,10,20,30,60,120,250] final_results_list = [] for i in period:for j in period:if i < j :result=execute_strategy(i,j)final_results_list.append([i,j,result[0],result[1],result[2],result[3]])pd.DataFrame(final_results_list,columns = ['pfast','pslow','profit','SR','DW','max_DW'])

策略結果

SMA運行結果

EMA運行結果

部分回測圖展示
從結果上可以看到,指數移動平均法相比于移動平均法更能反映出短期的價格波動情況,其利潤的波動更大,但同時最大回撤也更大。后續也可以用遍歷形勢求出收益最優組合。

總結

以上是生活随笔為你收集整理的量化策略初探——使用tushare进行沪深300ETF双均线策略的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产精品毛片一区二区 | 在线 日本 制服 中文 欧美 | 日韩黄色网页 | 黄色网页免费在线观看 | 日韩大片在线免费观看 | 操老女人视频 | 曰韩一级片 | 中文字幕国产日韩 | 伊人成年网 | 日韩在线专区 | 国产精品一区在线观看你懂的 | 色999视频| 日本男女激情视频 | 亚洲做受高潮 | 伊人丁香| 国产成人无码精品久久久电影 | 人妻精品无码一区二区三区 | 亚洲欧美日本在线 | 少妇床戏av| 久一区二区三区 | 亚洲好骚综合 | 91免费观看视频在线 | 兄弟兄弟全集免费观看 | 99久久久国产精品无码性 | 成人在线观看h | 手机看片福利视频 | 亚洲AV乱码国产精品观看麻豆 | 国产精品夫妻自拍 | 少妇无套高潮一二三区 | 国产爆操视频 | 中文字幕在线播放 | www.国产色 | 在线观看久 | 日韩永久免费视频 | 国产无精乱码一区二区三区 | 天堂av手机版 | 草草影院在线播放 | 国产黄色片免费看 | 女人性做爰100部免费 | 韩国一区二区三区在线观看 | 色www亚洲国产张柏芝 | 久久男人精品 | 成人免费在线 | 欧美激情中文字幕 | 日韩无码电影 | 久草视频观看 | 性欧美大战久久久久久久免费观看 | 日韩久久综合 | 男男gay同性三级 | 久久久久久中文字幕 | 亚洲成人第一区 | 日本男人天堂网 | 久久精品三级视频 | 久久91亚洲人成电影网站 | 国产伦精品一区二区三区视频女 | 香蕉尹人 | 亚洲中午字幕 | 超碰成人网 | 极品美女被c | 青青操av在线 | 深夜福利国产精品 | 色啪网站 | 国产ts系列 | 欧美亚洲一二三区 | 色婷婷五 | 在线视频欧美一区 | 国产福利不卡 | 一道本不卡视频 | 中文字幕第23页 | 四虎三级 | 国产综合福利 | 抱着老师的嫩臀猛然挺进视频 | 亚洲欧美专区 | 超碰最新网址 | 91天天 | 黄色片a级 | 99精品人妻无码专区在线视频区 | 国产精品99精品久久免费 | 欧美特黄一级 | 色玖玖综合 | 男操女视频网站 | 国产做爰xxxⅹ性视频国 | 国产91在线播放九色 | 性精品 | 国产精品久久久国产盗摄 | 蜜桃av影视| 99热这里只有精品99 | 57pao国产成永久免费视频 | 亚洲精品偷拍 | 亚洲成年人在线 | 欧美日韩在线免费观看视频 | 亚洲精品日韩丝袜精品 | 国产一级做a | 人人看人人爱 | 中文字幕丰满人伦在线 | 精品一久久 | 少妇精品视频 | 在线观看免费av网址 | 精品中文字幕视频 |