python搭建期貨股票模擬盤--基于quantaxis

quantaxis是國內(nèi)一款非常著名的量化開源框架校读,適合量化中小團隊,天總無償分享自己公司的核心開源框架造福廣大量化愛好者耕陷,真是值得點贊谜慌!自己也是剛使用quantaxis沒多久,看了天總在bilibili的直播視頻对湃,自己踩了很多坑崖叫,我想總結(jié)下在windows上用quantaxis搭建模擬盤,并使用隨機行情的一個流程拍柒,非docker拉起方式心傀。本人只是python愛好者,文科出身拆讯,非專業(yè)化用詞請見諒脂男。

一养叛、環(huán)境準備

首先安裝anaconda3.6以上版本,為避免跟已有安裝包沖突宰翅,推薦重新建立個虛擬環(huán)境弃甥,具體操作如下。

1汁讼、建立python虛擬環(huán)境潘飘。win+r 輸入cmd ,打開cmd命令行(powershell虛擬環(huán)境我這邊用不了掉缺,推薦用cmd)命令行輸入:
conda create -n py36 python=3.6
(py36我給取的虛擬環(huán)境名稱卜录,你可以改成自己的)。同理眶明,如果你想使用3.7版本的Python你就把后面的3.6改成3.7艰毒。

2、進入虛擬環(huán)境搜囱。
activate py36

image

二丑瞧、安裝quantaxis 模擬交易相關(guān)模塊

有了虛擬環(huán)境,咱們繼續(xù)下載quantaxis的相關(guān)代碼蜀肘,主要涉及以下模塊:

1绊汹、QUANTAXIS

安裝命令:


pip install quantaxis

2、QA后臺服務(wù)QUANTAXIS_WEBSERVER

安裝命令:


pip install https://github.com/yutiansut/tornado_http2/archive/master.zip

pip install tornado==5.1.1

pip install quantaxis_webserver

運行命令:

另外打開一個cmd命令行扮宠,激活虛擬環(huán)境(activate py36)西乖,后面服務(wù)開啟方式同,不再重復(fù)坛增。


quantaxis_webserver

輸入以后顯示如下

image

3获雕、QA可視化網(wǎng)頁終端基礎(chǔ)版本 QADESK_BASIC

安裝命令:


git clone https://github.com/yutiansut/QADESK_BASIC.git 

(需要自己下載git)

或者直接進入QADESK_BASIC ,自己下載壓縮包收捣,解壓到自己想要的文件夾:

image

打開下載后目錄中index.html文件届案,效果如下,先不用管它:

image

4罢艾、基于RABBITMQ的消息分發(fā)訂閱 QAPUBSUB

安裝命令:


pip install quantaxis_pubsub

需要進行以下配置(這里抄了天總的文檔楣颠,感謝天總的無私奉獻!)

配套服務(wù)配置流程1:—安裝elang和rabbitmq咐蚯,安裝流程參考這里童漩,其中軟件的版本下載官網(wǎng)最新的即可。

配套服務(wù)配置流程2:—配置rabbitmq: 啟用插件仓蛆、創(chuàng)建用戶睁冬、分配角色、設(shè)置權(quán)限,參考鏈接豆拨。rabbitmq配置好了之后運行如下命令

以下服務(wù)開啟(默認端口在開啟對應(yīng)服務(wù)時有提示)


rabbitmq-plugins enable rabbitmq_management

rabbitmqctl add_user admin admin

rabbitmqctl set_user_tags admin administrator

rabbitmqctl set_permissions -p "/" admin '.*' '.*' '.*'

這個時候直奋,你可以在網(wǎng)頁打開:

http://127.0.0.1:15672,并用用戶名:admin 密碼:admin登入rabbitmq施禾。

5脚线、模擬行情生成 QUANTAXIS_RandomPrice

使用模擬行情的好處就是任何時間都可以拉起來測試,不需要真實行情弥搞。

安裝命令:


pip install quantaxis-randomprice

運行命令:


QARC_Random --code au1912 --date 20191101 --price 340 --interval 1

上面意思就是模擬au1912合約的歷史行情數(shù)據(jù)邮绿,起始價格340,日期20191102攀例。

image

這個時候你可以打開rabbitmq船逮,點擊exchange,你可以看到模擬的tick數(shù)據(jù)正在pub到這里。

image

6粤铭、行情推送分發(fā) QUNATAXIS MARKETCOLLECTOR

安裝命令:


pip install qarealtime_collector

開啟虛擬行情服務(wù):(虛擬行情測試, 切記: 此命令會污染實時行情源, 切記不能和實時行情同時運行)


QARC_WEBSERVER

7挖胃、QIFIAccount 和QASTRATEGY

不用多說,安裝命令:


pip install qifiaccount

pip install qastrategy

8梆惯、模擬行情關(guān)鍵組件:qatrader

模擬賬戶和模擬交易主要靠這個組件運行:

安裝命令:


pip install qatrader

運行命令:

首先打開cmd酱鸭,建立個模擬賬號,效果見下圖:


qatrader --acc 1010101 --pwd 101010 --broker QUANTAXIS

image

接著開啟交易服務(wù):


qatraderserver

開完上面服務(wù)以后垛吗,可以在rabbitmq了看到:

image

點擊ARORDER_ROUTER凹髓,可以看到下圖賬號路由已經(jīng)發(fā)送,后面訂單發(fā)送都可以從這里看到怯屉。

image

現(xiàn)在可以打開QADESK_BASIC 這個可視化界面了蔚舀,登錄賬號密碼可以試試admin admin ,點擊模擬可以看到蚀之,賬號已經(jīng)開起來了:

image

9蝗敢、模擬下單:

模擬下單方式有多種,一種通過http方式足删,一種通過代碼方式,這里主要講解代碼方式:

首先打開jupyter lab:

命令行輸入:


jupyter lab

網(wǎng)頁打開:http://127.0.0.1:8888

比如想以價格350買入au1912 20首合約锁右,在jupyter 里面輸入以下代碼:


from QAPUBSUB import producer

import json

import datetime

host = '127.0.0.1'

p = producer.publisher_routing(

    user='admin', password='admin', host=host, exchange='QAORDER_ROUTER')

p.pub(json.dumps({

    'topic': 'sendorder',

    'account_cookie': '1010101',

    'strategy_id': 'test',

    'code': 'au1912',

    'price': 350,

    'order_direction': 'BUY',

    'order_offset': 'OPEN',

    'volume':20,

    'order_time': str(datetime.datetime.now()),

    'exchange_id': 'SHFE'

}), routing_key='1010101')

下完單以后可以在可視化頁面看到:

image

這樣子失受,從搭建環(huán)境 -模擬賬號建立-下單交易流程就全部結(jié)束了。如果有研發(fā)好的策略咏瑟,就可以通過模擬賬號試運行了拂到,穩(wěn)定了就上實盤收割唄!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末码泞,一起剝皮案震驚了整個濱河市兄旬,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖领铐,帶你破解...
    沈念sama閱讀 206,126評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件悯森,死亡現(xiàn)場離奇詭異,居然都是意外死亡绪撵,警方通過查閱死者的電腦和手機瓢姻,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,254評論 2 382
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來音诈,“玉大人幻碱,你說我怎么就攤上這事∠附Γ” “怎么了褥傍?”我有些...
    開封第一講書人閱讀 152,445評論 0 341
  • 文/不壞的土叔 我叫張陵,是天一觀的道長喇聊。 經(jīng)常有香客問我恍风,道長,這世上最難降的妖魔是什么承疲? 我笑而不...
    開封第一講書人閱讀 55,185評論 1 278
  • 正文 為了忘掉前任邻耕,我火速辦了婚禮,結(jié)果婚禮上燕鸽,老公的妹妹穿的比我還像新娘兄世。我一直安慰自己,他們只是感情好啊研,可當我...
    茶點故事閱讀 64,178評論 5 371
  • 文/花漫 我一把揭開白布御滩。 她就那樣靜靜地躺著,像睡著了一般党远。 火紅的嫁衣襯著肌膚如雪削解。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 48,970評論 1 284
  • 那天沟娱,我揣著相機與錄音氛驮,去河邊找鬼。 笑死济似,一個胖子當著我的面吹牛矫废,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播砰蠢,決...
    沈念sama閱讀 38,276評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼蓖扑,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了台舱?” 一聲冷哼從身側(cè)響起律杠,我...
    開封第一講書人閱讀 36,927評論 0 259
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎沿后,沒想到半個月后的畴,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,400評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡耍共,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,883評論 2 323
  • 正文 我和宋清朗相戀三年诡蜓,在試婚紗的時候發(fā)現(xiàn)自己被綠了熬甫。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 37,997評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡蔓罚,死狀恐怖椿肩,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情豺谈,我是刑警寧澤郑象,帶...
    沈念sama閱讀 33,646評論 4 322
  • 正文 年R本政府宣布,位于F島的核電站茬末,受9級特大地震影響厂榛,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜丽惭,卻給世界環(huán)境...
    茶點故事閱讀 39,213評論 3 307
  • 文/蒙蒙 一击奶、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧责掏,春花似錦柜砾、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,204評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至瞳浦,卻和暖如春担映,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背叫潦。 一陣腳步聲響...
    開封第一講書人閱讀 31,423評論 1 260
  • 我被黑心中介騙來泰國打工蝇完, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人矗蕊。 一個月前我還...
    沈念sama閱讀 45,423評論 2 352
  • 正文 我出身青樓四敞,卻偏偏與公主長得像,于是被迫代替她去往敵國和親拔妥。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 42,722評論 2 345

推薦閱讀更多精彩內(nèi)容