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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

跨期套利模型 2017-2019年白银跨期实盘年化7%-15%策略 策略开发

發布時間:2023/12/20 编程问答 46 豆豆
生活随笔 收集整理的這篇文章主要介紹了 跨期套利模型 2017-2019年白银跨期实盘年化7%-15%策略 策略开发 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

分享本人2017-2019年白銀跨期實盤年化7%-15%策略.

比較基礎的跨期套利模型,需要注意的重點是:確保雙腿交易的速度以及瘸腿的追單處理。

本模型不涉及交易細節的處理,主要是核心邏輯模塊。

采用白銀品種做跨期主要是基差非常平穩,同時采用眾數對上下軌進行控制。

模型代碼如下

import time import numpy as np from collections import Counter#### class timer():def __init__(self):self._keep_time_list=[]def keep(self,sec):self._keep_time_list.append(time.time())if self._keep_time_list[-1]-self._keep_time_list[0]>=sec:self._keep_time_list = []self._keep_time_list.append(time.time())return 1else:return 0class arbitrage_model():def __init__(self):self._turn_smaller_spread_list=[]self._turn_smaller_spread_basket=[]self._turn_bigger_spread_list=[]self._turn_bigger_spread_basket=[]self._lastprice_list=[]self._mytimer=timer()self._UPdata_time_span=60*5self._turn_smaller_most_spread_list=[]self._turn_bigger_most_spread_list=[]self._min_tick=1#ma runself._ma_turn_bigger_data_dict={}self._ma_turn_smaller_data_dict={}self._min_turn_bigger_data_list=[]self._min_turn_smaller_data_list=[]def run(self,highdata_askprice,highdata_bidprice,data_lastprice,lowdata_askprice,lowdata_bidprice):# signal# turn to smallerself._turn_smaller_spread_list.append(highdata_bidprice - lowdata_askprice)self._turn_smaller_spread_basket.append(highdata_bidprice - lowdata_askprice)# turn to biggerself._turn_bigger_spread_list.append(highdata_askprice - lowdata_bidprice)self._turn_bigger_spread_basket.append(highdata_askprice - lowdata_bidprice)# get quote_stdself._lastprice_list.append(data_lastprice)if len(self._lastprice_list) > 200:quote_std = np.std(self._lastprice_list)del self._lastprice_list[0]else:quote_std = 10if self._mytimer.keep(self._UPdata_time_span):turn_smaller_most_spread = Counter(self._turn_smaller_spread_basket).most_common(1)[0][0]self._turn_smaller_most_spread_list.append(turn_smaller_most_spread)turn_bigger_most_spread = Counter(self._turn_bigger_spread_basket).most_common(1)[0][0]self._turn_bigger_most_spread_list.append(turn_bigger_most_spread)self._turn_smaller_spread_basket = []self._turn_bigger_spread_basket = []if len(self._turn_smaller_most_spread_list) > 12 * 2:del self._turn_smaller_most_spread_list[0]if len(self._turn_bigger_most_spread_list) > 12 * 2:del self._turn_bigger_most_spread_list[0]#signal to smallerif len(self._turn_smaller_most_spread_list)>0 and max(self._turn_smaller_most_spread_list) <= self._turn_smaller_spread_list[-1] and self._turn_smaller_most_spread_list[-1] + 3 * self._min_tick <= self._turn_smaller_spread_list[-1]:signal_smaller=1else:signal_smaller=0#signal to biggerif len(self._turn_bigger_most_spread_list)>0 and self._turn_bigger_spread_list[-1] <= min(self._turn_bigger_most_spread_list) and self._turn_bigger_spread_list[-1] <=self._turn_bigger_most_spread_list[-1] - 3 * self._min_tick:signal_bigger=1else:signal_bigger=0return quote_std,signal_bigger,signal_smallerdef ma_run(self, highdata_askprice, highdata_bidprice, data_lastprice, lowdata_askprice, lowdata_bidprice):#signal#dataself._ma_turn_bigger_data_dict[time.time()]=(highdata_askprice-lowdata_bidprice)self._ma_turn_smaller_data_dict[time.time()]=(highdata_bidprice-lowdata_askprice)# get quote_stdself._lastprice_list.append(data_lastprice)if len(self._lastprice_list) > 200:quote_std = np.std(self._lastprice_list)del self._lastprice_list[0]else:quote_std = 10bigger_keys_list=list(self._ma_turn_bigger_data_dict.keys())#smaller_keys_list=list(self._ma_turn_smaller_data_dict.keys())if bigger_keys_list[-1]-bigger_keys_list[0]>60*1:self._min_turn_bigger_data_list.append(sum(list(self._ma_turn_bigger_data_dict.values()))/len(list(self._ma_turn_bigger_data_dict.values())))self._min_turn_smaller_data_list.append(sum(list(self._ma_turn_smaller_data_dict.values()))/len(list(self._ma_turn_smaller_data_dict.values())))self._ma_turn_bigger_data_dict = {}self._ma_turn_smaller_data_dict = {}signal_bigger=0signal_smaller=0min_span=20if len(self._min_turn_bigger_data_list)>min_span and len(self._min_turn_smaller_data_list)>min_span:if self._min_turn_bigger_data_list[-1]-sum(self._min_turn_bigger_data_list[-(1+min_span):-1])/min_span<-1.5:signal_bigger=1if self._min_turn_smaller_data_list[-1]-sum(self._min_turn_smaller_data_list[-(1+min_span):-1])/min_span>1.5:signal_smaller=1return quote_std,signal_bigger,signal_smaller

總結

以上是生活随笔為你收集整理的跨期套利模型 2017-2019年白银跨期实盘年化7%-15%策略 策略开发的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 日韩成人无码影院 | jizzjizz日本人 | 麻豆免费av| 国产91在线免费 | 欧美日韩激情一区二区 | 亚洲伊人成人网 | 视频日韩| 涩涩网站在线 | jizzjizz日本人 | 日本国产一级片 | 华人永久免费 | 日韩视频在线观看一区二区三区 | 女人性做爰69片免费看 | 国产a级淫片 | 亚洲色图国产视频 | 成人国产精品一区 | 在线视频自拍 | 亚洲午夜久久久久久久久红桃 | 高清无码一区二区在线观看吞精 | 成人毛片软件 | 免费看美女被靠到爽的视频 | 国产精品香蕉在线 | 少妇高潮灌满白浆毛片免费看 | 伊人影院在线播放 | 日本三级吃奶头添泬 | 日韩电影一区二区三区 | 国产精品嫩草av | 久久精品美女视频 | 114国产精品久久免费观看 | 日韩色资源 | 免费看一区二区三区 | 九九五月天 | 欧美群妇大交群 | 欧美天堂在线视频 | 日本美女性爱视频 | 午夜精品福利一区二区三区蜜桃 | 免费无码毛片一区二三区 | 国产又粗又长又黄的视频 | 亚洲一区二区不卡在线观看 | 岛国视频一区 | 超碰公开免费 | 任我爽在线| 国产伦精品一区二区三区四区 | 丰满人妻一区二区三区53 | 爱逼综合 | 黄色大片儿 | 亚洲永久免费视频 | 欧美日韩不卡在线 | 成人午夜视频免费在线观看 | 日韩激情 | 中字av在线 | 91久久一区二区 | 日韩大片一区二区 | 黄色天堂网 | 人妻无码一区二区三区久久 | 国产 第1190页 | 欧美视频第一页 | 国产熟妇一区二区三区四区 | 日韩精品免费一区二区三区 | 亚洲一区二区三区蜜桃 | 国产主播在线播放 | 欧美a性 | 国产精品一区二区三区久久 | 国产肉体xxxx裸体784大胆 | 老司机在线观看视频 | 四虎久久久 | www 在线观看视频 | av在线视| 91老女人| 13日本xxxxxⅹxxx20 | 国产不卡在线视频 | 国产丝袜自拍 | 奴性白洁会所调教 | 欧美体内谢she精2性欧美 | 日本一区精品视频 | 毛片毛片毛片毛片毛片毛片毛片毛片 | 中文字幕在线观看一区 | 91视频网址| 天天做天天操 | 九九涩| 午夜影视av | 99热免费在线观看 | 亚洲免费看片 | 亚洲国产成人精品久久 | 99热一区二区 | 亚洲男性天堂 | 国产高清在线视频观看 | 色屁屁在线 | 国产成人久久精品流白浆 | 中文字幕一区二区三区不卡 | 日本午夜三级 | 欧美三日本三级少妇三级99观看视频 | 黄色网络在线观看 | 成年女人毛片 | 国产成人精品一区二区三区福利 | 中文字幕在线日亚洲9 | 99热99| 午夜伦理影院 | 婷婷在线综合 |