自己做量化交易软件(20)通达信公式选股程序的实现
1.用小白2很好实现。首先获取板块中股票,存放在列表中。例如获取"上证50"
import HP_tdx as htdx
from HP_formula import *
global CLOSE,LOW,HIGH,OPEN,VOL
global C,L,H,O,V
hq=htdx.TdxInit(ip='183.60.224.178',port=7709) ##初始化通达信
codes=htdx.getblock2('上证50') #返回板块中的股票
2.下来用小白仿通达信公式模式进行指标计算,存放到B和S列表中。
如果是买点,B列表判断最后一个数据是否为1。如果为1,就保存股票代码到选股池中,这个就是选股算法。
因为股票行情数据太多,计算比较慢,不要获取全部数据,如果你用MA5上穿MA20,因为使用了最长参数20, 所以你要至少获取40个周期的数据,才能准确。
如果用macd,最长周期参数26,你至少要获取52个周期数据行情。其他以此类推。即保证了指标计算的准确,又提高了计算速度。
我们把这个选股做成函数function(cd),参数cd表示股票代码。
选股策略’5日均线上穿20日均线’,下面给出实现函数。
#均线选股函数:5日均线上穿20日均线
def function(cd):
global CLOSE,LOW,HIGH,OPEN,VOL
global C,L,H,O,V
df3=htdx.get_security_bars(nCategory=4,nMarket = 0,code=cd,\
nStart=