量化合約系統(tǒng)開(kāi)發(fā)(邏輯及策略)丨合約量化系統(tǒng)開(kāi)發(fā)(詳情及源碼)
Quantitative trading refers to the use of advanced mathematical models instead of artificial subjective judgments,and the use of computer technology to select multiple"high probability"events that can bring excess returns from huge historical data to formulate strategies,greatly reducing the impact of investor sentiment fluctuations,and avoiding irrational investment decisions under extreme fanaticism or pessimism in the market.
量化交易就是運(yùn)用非常復(fù)雜統(tǒng)計(jì)學(xué)方法和數(shù)學(xué)模型,從龐大的歷史數(shù)據(jù)中海選能帶來(lái)超額收益的多種“大概率”事件以制定策略,用數(shù)量模型驗(yàn)證及固化這些規(guī)律和策略,然后用計(jì)算機(jī)來(lái)嚴(yán)格,高效地執(zhí)行已固化的策略
#from CTP.MdApi import*
from AlgoPlus.CTP.FutureAccount import get_simnow_account,FutureAccount
from AlgoPlus.CTP.FutureAccount import SIMNOW_SERVER,MD_LOCATION,TD_LOCATION
from multiprocessing import Process,Queue
from CTP.MdApi import run_bar_engine,run_tick_engine
from CTP.TradeApi import run_trade_engine
#賬戶配置
future_account=FutureAccount(
關(guān)于區(qū)塊鏈項(xiàng)目技術(shù)開(kāi)發(fā)唯:yy625019,代幣發(fā)行、dapp智能合約開(kāi)發(fā)、鏈游開(kāi)發(fā)、多鏈錢(qián)包開(kāi)發(fā)
交易所開(kāi)發(fā)、量化合約開(kāi)發(fā)、互助游戲開(kāi)發(fā)、Nft數(shù)字藏品開(kāi)發(fā)、眾籌互助開(kāi)發(fā)、元宇宙開(kāi)發(fā)、swap開(kāi)發(fā)、
鏈上合約開(kāi)發(fā)、ido開(kāi)發(fā)、商城開(kāi)發(fā)等,開(kāi)發(fā)過(guò)各種各樣的系統(tǒng)模式,更有多種模式、制度、案例、后臺(tái)等,成熟技術(shù)團(tuán)隊(duì),歡迎實(shí)體參考。
#server_dict={'TDServer':"180.168.146.187:10130",'MDServer':'180.168.146.187:10131'},#TEST
server_dict={'TDServer':"218.202.237.33:10102",'MDServer':'218.202.237.33:10112'},#移動(dòng)
#TDServer為交易服務(wù)器,MDServer為行情服務(wù)器。服務(wù)器地址格式為"ip:port。"
reserve_server_dict={},開(kāi)發(fā)流程I59詳細(xì)2OO7開(kāi)發(fā)3O69
investor_id="****************",
password="****************"
app_id='simnow_client_test',
auth_code='0000000000000000'
instrument_id_list=instrument_id_list,#訂閱合約列表
md_page_dir=MD_LOCATION,#MdApi流文件存儲(chǔ)地址,默認(rèn)MD_LOCATION
td_page_dir=TD_LOCATION#TraderApi流文件存儲(chǔ)地址,默認(rèn)TD_LOCATION
)
#///深度行情通知
def OnRtnDepthMarketData(self,pDepthMarketData):
last_update_time=self.bar_dict[pDepthMarketData['InstrumentID']]["UpdateTime"]
is_new_1minute=(pDepthMarketData['UpdateTime'][:-2]!=last_update_time[:-2])and pDepthMarketData['UpdateTime']!=b'21:00:00'#1分鐘K線條件
#is_new_5minute=is_new_1minute and int(pDepthMarketData['UpdateTime'][-4])%5==0#5分鐘K線條件
#is_new_10minute=is_new_1minute and pDepthMarketData['UpdateTime'][-4]==b"0"#10分鐘K線條件
#is_new_10minute=is_new_1minute and int(pDepthMarketData['UpdateTime'][-5:-3])%15==0#15分鐘K線條件
#is_new_30minute=is_new_1minute and int(pDepthMarketData['UpdateTime'][-5:-3])%30==0#30分鐘K線條件
#is_new_hour=is_new_1minute and int(pDepthMarketData['UpdateTime'][-5:-3])%60==0#60分鐘K線條件
##新K線開(kāi)始
if is_new_1minute and self.bar_dict[pDepthMarketData['InstrumentID']]["UpdateTime"]!=b"99:99:99":
for md_queue in self.md_queue_list:
md_queue.put(self.bar_dict[pDepthMarketData['InstrumentID']])
#將Tick池化為Bar
tick_to_bar(self.bar_dict[pDepthMarketData['InstrumentID']],pDepthMarketData,is_new_1minute)