自己做量化交易軟體(44)小白量化實戰17–利用小白量化金融模塊在迅投QMT極速策略交易系統上仿大智慧指標回測及實戰交易設計
小白量化平臺是由若干小白金融模塊構成,其中包含行情接收模塊,仿通達信大智慧公式計算模塊,K線及指標繪圖模塊,回測模塊,Tkinter GUI視窗設計模塊等構成,每個模塊都能獨立應用,
最新實戰版本小白量化xb2f壓縮包中,提供了最新的公式庫,除了增加了幾十個公式函式外,還集成了通達信數百個常用公式,例如kd,rsi,macd,boll…等等,使用者不用復制函式,可直接使用這些系統默認公式,更加方便開發量化軟體,
下面是小白量化模塊的KDJ指標顯示的演示,
# -*- coding: utf-8 -*-
# KDJ指標演示
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import HP_tdx as htdx
from HP_formula import *
#連接行情主站
htdx.TdxInit(ip='40.73.76.10',port=7709)
code='600080'
#獲取日線資料,800條資料
df = htdx.get_k_data(code,ktype='D',index=False,autype='qfq')
mydf=initmydf(df) ##初始化mydf表
mydf['K'],mydf['D'],mydf['J']=KDJ(9,3,3)
mydf['S80']=80 #增加上軌80軌跡線
mydf['X20']=20 #增加下軌20軌跡線
mydf=mydf.tail(100) #顯示最后100條資料線
#下面是繪線陳述句
mydf.S80.plot.line()
mydf.X20.plot.line()
mydf.K.plot.line(legend=True)
mydf.D.plot.line(legend=True)
mydf.J.plot.line(legend=True)
程式運行結果如下:

下面我們看看,如何在迅投QMT極速策略交易系統上例如用小白量化金融模塊來實作指標回測,
買賣條件:
#買入條件:指數k上穿d時觸發買入信號,過濾連續超賣導致的買入信號
#賣出條件:指數k下穿d時觸發賣出信號,過濾連續超買導致的賣出信號
下面我們給出迅投QMT極速策略交易系統上利用小白量化公式模塊撰寫指標的回測示例,
首先把小白量化目錄【D:\xb2f】中的HP_formula.py檔案復制到迅投QMT極速策略交易系統目錄【D:\申港證券QMT模擬 交易終端\python】中,
在設計迅投QMT極速策略交易系統的策略時,就可以使用小白量化仿通達信公式庫了,同理,在恒生PTrade交易系統(交易端)上,以及各種本地化量化平臺中,都可以使用小白量化金融模塊,
下面直接給出迅投QMT極速策略交易系統KDJ指標交易策略源代碼,

#encoding:gbk
'''
本策略事先設定好交易的股票籃子,然后根據指數的CCI指標來判斷超買和超賣
當有超買和超賣發生時,交易事先設定好的股票籃子
'''
import pandas as pd
import numpy as np
import talib
#匯入小白量化公式函式庫模塊
from HP_formula import *
def init(ContextInfo):
#hs300成分股中sh和sz市場各自流通市值最大的前3只股票
ContextInfo.trade_code_list=['601398.SH','601857.SH','601288.SH','000333.SZ','002415.SZ','000002.SZ']
ContextInfo.set_universe(ContextInfo.trade_code_list)
ContextInfo.accID = 'XXXXXXX'
ContextInfo.buy = True
ContextInfo.sell = False
def handlebar(ContextInfo):
#計算當前主圖的KDJ
mkdict = ContextInfo.get_market_data(['high','low','close','open'],count=int(period)+1)
#小白量化資料規格化(初始化)
mkdict['date']=mkdict.index
mydf=initmydf(mkdict)
#使用公式庫中的默認KDJ(9,3,3)指標,可以帶其他引數,也可以自編公式,
k,d,j=KDJ()
ContextInfo.paint("K",np.array(k)[-1],-1,0,'noaxis')
ContextInfo.paint("D",np.array(d)[-1],-1,0,'noaxis')
ContextInfo.paint("J",np.array(j)[-1],-1,0,'noaxis')
#交易策略
if len(k)<2:
return
#買入條件:指數k上穿d時觸發買入信號,過濾連續超賣導致的買入信號
buy_condition = np.array(CROSS(k,d))[-1] and ContextInfo.buy
#賣出條件:指數k下穿d時觸發賣出信號,過濾連續超買導致的賣出信號
sell_condition = np.array(CROSS(d,k))[-1] and ContextInfo.sell
if buy_condition:
ContextInfo.buy = False
ContextInfo.sell = True
#串列中股票分別下單買入10手
for stockcode in ContextInfo.trade_code_list:
order_lots(stockcode,10,ContextInfo,ContextInfo.accID)
elif sell_condition:
ContextInfo.buy = True
ContextInfo.sell = False
#串列中股票分別下單賣出10手
for stockcode in ContextInfo.trade_code_list:
order_lots(stockcode,-10,ContextInfo,ContextInfo.accID)
#可買或可賣狀態
ContextInfo.draw_text(bool(buy_condition),float(np.array(k)[-1]),'buy') #繪制買點
ContextInfo.draw_text(bool(sell_condition),float(np.array(k)[-1]),'sell') #繪制賣點
ContextInfo.paint('can_buy',ContextInfo.buy,-1,0,'nodraw')
ContextInfo.paint('can_sell',ContextInfo.sell,-1,0,'nodraw')
程式運行輸出的圖形如下,

<零基礎搭建量化投資系統――以Python為工具>京東購買網址
https://item.jd.com/61567375505.html
大家不要買盜版書,只有正版書,電子書才能加入讀者群,我一直有代碼更新,公式庫又增加了幾十個基礎函式,有疑問,也可以咨詢作者完善改進,
我們正在開發小白第三代量化系統,仍然采用Tkinter的GUI庫設計,下面是部分設計圖,
一、小白量化第三代量化平臺主要功能說明:
1、仿流行股票軟體的操作界面和操作快捷鍵來設計軟體,適合廣大投資者投資行情軟體無縫遷移到小白量化平臺上,

2、直接使用流行的股票公式指標進行分析和計算,以及選股顯示圖形,方便投資者使用自編公式在小白量化平臺上顯示,


3、除了支持普通股票指標公式外,還支持Alpha自編因子公式,
2015年底World Quant發表了論文《101 Formulaic Alpha》,論文中給出了101個現實中的alpha,因子資料挖掘量化投資獲取了不俗的收益,我們量化軟體已經實作了Alpha101公式函式演算法,用戶有能力實作新的Alpha自編因子公式,創作出更多的Alpha自編因子公式,下面是原始Alpha101因子公式代碼,
見前面博客,
https://blog.csdn.net/hepu8/article/details/113825112
4、支持多因子自編公式,指標公式函式只支持1只股票指標運算,多因子自編公式支持1組股票運算,
自編因子指標公式是對一批股票同步計算,因此速度很快,
據測驗同樣機器計算300只股票, 300只股票回圈計算仿通達信指標公式所花費時間: 4.644 秒,
同樣300只股票計算多因子指標公式所需花費時間: 0.127 秒,多因子指標公式速度提高了約36倍,同時還能對任意一個周期進行股票指標值排序,
更重要的是Alpha自編因子公式和多因子自編公式輸出結果資料,可以直接用于深度學習等人工智能量化分析程式,實作人工智能投資分析和人工智能交易,
見前面博客,
https://blog.csdn.net/hepu8/article/details/113883459
5、軟體除了普通公式選股外,還支持量化程式選股,回測,模擬,下單等操作,
6、增加(仿大智慧)股票池運算功能,
7、增加可視化策略開發工具等功能,
歡迎有興趣的投資人一起做大做強本軟體
小白量化平臺設計主要人:何戰軍 電話微信:18578755056 QQ:2775205
請持續關注我的博客,我的進步,就是你的進步!
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/301206.html
標籤:AI
下一篇:Pandas 進階
