《小白公式量化系统》是纯Python开发的,因此我们可以借用《小白公式量化系统》的金融模块,来实现自己的Python量化框架,以及用Python实现量化研究、选股、人工智能机器学习,以及打造自己的行情软件和量化平台。我们后面文章讲介绍这些知识,并提供可操作的代码给大家。
首先要登陆《小白公式量化系统》软件,在登陆时需要记住密码,这样《小白公式量化系统》的Python模块讲全部激活。否则这些模块无法正常执行。
《小白公式量化系统》包含有股票实时行情模块,公式语法解析模块,高级tkinter模块。利用这些模块可以实现新的行情软件或量化平台。《小白公式量化系统》本身也是利用这些模块设计了。
写Python代码时,需要先导入下面模块。
import HP_tdx as htdx #小白量化行情模块
from HP_formula import * #小白量化公式函数模块
import HP_tdxgs as hgs #小白通达信公式库
import HP_plt as hplt #绘制K线图模块
我们利用HP_tdxgs小白通达信公式库进行公式源码解析,并进行指标公式运算。
通达信指标公式源码。
N:=9;
M1:=3;
M2:=3;
RSV:=(CLOSE-LLV(LOW,N))/(HHV(HIGH,N)-LLV(LOW,N))*100;
K:SMA(RSV,M1,1), CIRCLEDOT,COLORFF0000,LINETHICK2;
D:SMA(K,M2,1), LINETHICK3 , COLOR00FF00 ;
J:3*K-2*D, LINETHICK2, COLOR0000FF;
把这个指标公式源码保存的Python的多行文本变量中,例如gs变量。
gs='''
N:=9;
M1:=3;
M2:=3;
RSV:=(CLOSE-LLV(LOW,N))/(HHV(HIGH,N)-LLV(LOW,N))*100;
K:SMA(RSV,M1,1), CIRCLEDOT,COLORFF0000,LINETHICK2;
D:SMA(K,M2,1), LINETHICK3 , COLOR00FF00 ;
J:3*K-2*D, LINETHICK2, COLOR0000FF;
'''
创建Python的通达信指标公式源码解析器,并加载运行公式。
df3=hgs.initmydf(df3) #小白量化行情数据规格化
tgs1=hgs.Tdxgs() #创建公式解析器
tgs1.loaddf(df3) #加载小白量化格式的行情数据表
mydf=tgs1.rungs(gs) #运行指标公式源码,并返回新的行情表。返回表中包含指标公式的输出数据,
我们可以根据这些数据,利用小白量化公式函数模块,进行仿指标公式语法计算。
例如我们想根据指标交叉信息生成买卖信号,并根据信号进行买卖交易。
BUY=CROSS(mydf.J,mydf.K)
SELL=CROSS(mydf.K,mydf.J)
if BUY.iloc[-1]>0: #买入操作
pass
if SELL.iloc[-1]>0: #卖出操作
pass
下面给一个自编通达信公式执行的Python完整代码,这个代码放到《小白公式量化系统》文件目录中,就能正常执行。
import time
import matplotlib.pyplot as plt
import HP_global as g
import HP_tdx as htdx #小白量化行情模块
from HP_formula import * #小白量化公式函数模块
import HP_tdxgs as hgs #小白通达信公式库
import HP_plt as hplt #绘制K线图模块
plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签
plt.rcParams['axes.unicode_minus']=False #用来正常显示负号
#白底色
g.ubg='w'
g.ufg='b'
g.utg='b'
g.uvg='#1E90FF'
##黑底色
g.ubg='#07000d'
g.ufg='w'
g.utg='w'
g.uvg='#FFD700'
global CLOSE,LOW,HIGH,OPEN,VOL
global C,L,H,O,V
gs='''
N:=9;
M1:=3;
M2:=3;
RSV:=(CLOSE-LLV(LOW,N))/(HHV(HIGH,N)-LLV(LOW,N))*100;
K:SMA(RSV,M1,1), CIRCLEDOT,COLORFF0000,LINETHICK2;
D:SMA(K,M2,1), LINETHICK3 , COLOR00FF00 ;
J:3*K-2*D, LINETHICK2, COLOR0000FF;
'''
m=1
cd='600030'
hq=htdx.TdxInit(ip='183.60.224.178',port=7709) ##初始化通达信
df3=htdx.get_security_bars(nCategory=4,nMarket = m,code=cd,\
nStart=0, nCount=500) #获取指定范围的证券K线
df3=hgs.initmydf(df3) #小白量化行情数据规格化
tgs1=hgs.Tdxgs() #创建公式解析器
tgs1.loaddf(df3) #加载小白量化格式的行情数据表
mydf=tgs1.rungs(gs) #运行指标公式源码,并返回新的行情表。返回表中包含指标公式的输出数据,
BUY=CROSS(mydf.J,mydf.K)
SELL=CROSS(mydf.K,mydf.J)
'''
#独狼荷蒲 qq:2775205
#中文 Python 学习群:811379766
#电话微信:18578755056
'''
if BUY.iloc[-1]>0: #买入操作
pass
if SELL.iloc[-1]>0: #卖出操作
pass
#绘制图形
plt.figure(1,figsize=(10,6), dpi=100)
#绘制主图指标
ax1=plt.subplot(211)
plt.title(cd+"K线图")
hplt.ax_K(ax1,mydf,cd,n=0)
#绘制副图指标
ax2=plt.subplot(212)
#MTM.plot.line(legend=True)
tgs1.brawline(ax2)
plt.show()
程序运行结果如下。
好了,欢迎继续关注我的博客。
超越自己是我的每一步!我的进步就是你的进步!