亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

python實現(xiàn)馬丁策略回測3000只股票的實例代碼

 更新時間:2021年01月22日 10:05:28   作者:達科索斯  
這篇文章主要介紹了python實現(xiàn)馬丁策略回測3000只股票,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下

上一篇文章講解了如何實現(xiàn)馬丁策略,但沒有探索其泛化能力,所以這次來嘗試回測3000只股票來查看盈利比例。

批量爬取股票數(shù)據(jù)

這里爬取數(shù)據(jù)繼續(xù)使用tushare,根據(jù)股票代碼來遍歷,因為爬取數(shù)據(jù)需要一定時間,不妨使用多線程來爬取,這里要注意tushare規(guī)定每分鐘爬取不能超過500次,除非你有很多積分,所以線程數(shù)要適當調低。

首先我們生成上證與深證所有股票的代碼:

#上證代碼
shanghaicode = []
for i in range(600000, 604000, 1):
 shanghaicode.append(str(i))
 
#深證代碼
shenzhencode = []
for i in range(1000000, 1005000, 1):
 i = str(i)[1:] 
 shenzhencode.append(i)

然后再定義一個爬取函數(shù),broker則是上一篇文章創(chuàng)建的實例:

def getalldata(code):
  if os.path.exists(datapath + code + '.csv'):
   print(code + 'already existed!')
   return
  metadata = broker.get_stock_pro(code)
  if len(metadata) == 0:
   return
  metadata.to_csv('C:/Users/abc/Desktop/' + code + '.csv',index = False)
  print(code + 'finished!')

導入多線程需要的模塊

from concurrent.futures.thread import ThreadPoolExecutor #多線程

遍歷所有代碼開始爬取,max_workers可適當調整

executor = ThreadPoolExecutor(max_workers=3)
 for datatemp in executor.map(getalldata, shenzhencode):
  pass 
 
 executor = ThreadPoolExecutor(max_workers=3)
 for datatemp in executor.map(getalldata, shanghaicode):
  pass 

批量回測股票

數(shù)據(jù)爬好后則可開始回測了,因為回測是CPU瓶頸運算,所以這里就不使用多線程了,速度差不多。

首先將一只股票的回測程序封裝到函數(shù)中,回測時間設置為2020年全年,起始資金設置為20萬元:

def martinmulti(code):
 broker = backtesting(200000,'20200101', '20201231')
 #獲取股票數(shù)據(jù)
 metadata = pd.read_csv(datapath + code)
 data = np.array(metadata['close'])
 exdata = np.array(metadata['pre_close'])
 everyChange = np.array(metadata['change'])
 date = metadata['trade_date'].values
 everyChange = everyChange/data
 #開始回測
 broker.startbackmartin(data, exdata, everyChange, date)
 dicttemp = {'股票代碼': code,'終止現(xiàn)金': broker.cash}
 return dicttemp

遍歷股票代碼回測并記錄終止現(xiàn)金

cashlist = pd.DataFrame(columns= ['股票代碼','終止現(xiàn)金'])
for code in datalist:
 datatemp = martinmulti(code)
 cashlist = cashlist.append(datatemp,ignore_index=True)

回測過程如下

在這里插入圖片描述

接下來看看哪支股票獲得了最大利潤:

在這里插入圖片描述

看看平均值

cashlist.mean()
Out[12]: 
終止現(xiàn)金 208279.115166

可以從均值看出馬丁策略賺作為一種相對保險的方法賺的不多,當然想要找到一勞永逸的方法是不可能的,并且用平均數(shù)不能代表一切,那看看盈利比例如何:

plt.rcParams['font.sans-serif'] = ['SimHei']
plt.style.use('ggplot')
plt.title("盈利分布(萬元)")
bins = []
for i in range(10000, 600000, 10000):
 bins.append(i)
plt.hist(cashlist['終止現(xiàn)金'],bins = bins)
plt.axvline(x = cashlist.mean().values,ls="-",c="green")#添加垂直直線

在這里插入圖片描述

可以看出有折腰的也有翻倍的,且絕大部分集中于20w元旁邊,分布圖形整體往20萬右側偏移,該策略還有待改進。

到此這篇關于python實現(xiàn)馬丁策略回測3000只股票的文章就介紹到這了,更多相關python股票策略回測內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • 自學python求已知DNA模板的互補DNA序列

    自學python求已知DNA模板的互補DNA序列

    這篇文章主要為大家介紹了自學python求已知DNA模板的互補DNA序列的示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-06-06
  • Django使用裝飾器限制對視圖的訪問及實現(xiàn)原理

    Django使用裝飾器限制對視圖的訪問及實現(xiàn)原理

    除了可以在視圖處理中校驗用戶身份以及驗證用戶權限之外,Django還提供了便捷的裝飾器來完成這兩類校驗,下面介紹這兩個裝飾器的使用方法與實現(xiàn)原理,對Django裝飾器限制視圖訪問相關知識感興趣的朋友一起看看吧
    2022-10-10
  • Python3 能振興 Python的原因分析

    Python3 能振興 Python的原因分析

    我從Stephen A. Goss那讀到關于了《Python 3正在毀滅Python》。這篇文章有不少精彩的論點,但我卻并不認為Python 3是在毀滅Python,也不認為整個局面對Python一點也不利
    2014-11-11
  • Python簡繁體轉換的簡單實現(xiàn)步驟

    Python簡繁體轉換的簡單實現(xiàn)步驟

    工作中需要將繁體中文轉換成簡體中文上網找了些資料,下面這篇文章主要給大家介紹了關于Python實現(xiàn)簡繁體轉換的相關資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-06-06
  • Python3.9.0 a1安裝pygame出錯解決全過程(小結)

    Python3.9.0 a1安裝pygame出錯解決全過程(小結)

    這篇文章主要介紹了Python3.9.0 a1安裝pygame出錯解決全過程(小結),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-02-02
  • Python編程OpenCV和Numpy圖像處理庫實現(xiàn)圖片去水印

    Python編程OpenCV和Numpy圖像處理庫實現(xiàn)圖片去水印

    這篇文章主要介紹了Python編程中如何實現(xiàn)圖片去水印本文采用了OpenCV和Numpy的圖像處理的方法來實現(xiàn),文中附含詳細示例代碼,有需要的朋友可以借鑒參考下
    2021-09-09
  • python中使用百度音樂搜索的api下載指定歌曲的lrc歌詞

    python中使用百度音樂搜索的api下載指定歌曲的lrc歌詞

    這篇文章主要介紹了python中使用百度音樂搜索的api下載指定歌曲的lrc歌詞,同時也分析出了歌曲的下載地址,需要的朋友可以參考下
    2014-07-07
  • Python基礎之數(shù)據(jù)類型知識匯總

    Python基礎之數(shù)據(jù)類型知識匯總

    今天帶大家復習一下Python基礎知識,文中對數(shù)據(jù)類型相關知識做了詳細的匯總,對剛入門python的小伙伴很有幫助喲,需要的朋友可以參考下
    2021-05-05
  • Python利用AI接口實現(xiàn)摳圖并改圖片底色

    Python利用AI接口實現(xiàn)摳圖并改圖片底色

    時候我們的證件照需要換底色,又來不及去照相館拍照,用ps也不好摳圖,所以今天給你們分享一下如何用python來摳圖,并換底色,需要的可以參考一下
    2022-09-09
  • python 3.0 模擬用戶登錄功能并實現(xiàn)三次錯誤鎖定

    python 3.0 模擬用戶登錄功能并實現(xiàn)三次錯誤鎖定

    Python的3.0版本,常被稱為Python 3000,或簡稱Py3k。這篇文章主要介紹了python 3.0 模擬用戶登錄功能并實現(xiàn)三次錯誤鎖定,需要的朋友可以參考下
    2017-11-11

最新評論