最新公告
  • 欢迎您光临九毛八公式指标网www.9m8.cn,本站全新改版试运行,期间内容全部免费,欢迎下载!欢迎加入本站VIP
  • 自己做量化交易软件(20)通达信公式选股程序的实现

    正文概述    2024-05-04 12:36:06  

    自己做量化交易软件(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日均线’,下面给出实现函数。


    df3=htdx.get_security_bars(nCategory=4,nMarket = 0,code=cd, nStart=0, nCount=40) #获取指定范围的证券K线 ##数据规格化 df3.dropna(inplace=True) #小白数据规格化 mydf=df3.copy() CLOSE=mydf['close'] LOW=mydf['low'] HIGH=mydf['high'] OPEN=mydf['open'] VOL=mydf['volume'] C=mydf['close'] L=mydf['low'] H=mydf['high'] O=mydf['open'] V=mydf['volume'] #仿通达信,大智慧公式计算和选股 MA5=MA(CLOSE,5) MA20=MA(CLOSE,20) B=CROSS(MA5,MA20) #5日均线上穿20日均线 B2=list(B) #把1维数组转换为列表数据 return B2[len(B2)-1] #获取列表中最后一个值

    3.然后循环获取股票池列表中的股票行情,并进行计算。

    #下面开始进行板块或股票池选股
    myblock=[] #选股池
    for code in codes:
     buy=function(code) #计算股票选股函数
     if buy==1:
     myblock.append(code)
    

    4.输出结果

    print('输出选出的股票池')
    print(myblock)
    

    5.下面是20200411选出结果:

    小白量化选股: 5日均线上传20日均线
    输出股票池或板块中股票
    ['600000', '600009', '600016', '600028', '600030', '600031', '600036', '600048', '600050', '600104', '600196', '600276', '600309', '600340', '600519', '600547', '600585', '600690', '600703', '600837', '600887', '601012', '601066', '601088', '601111', '601138', '601166', '601186', '601211', '601236', '601288', '601318', '601319', '601328', '601336', '601390', '601398', '601601', '601628', '601668', '601688', '601766', '601818', '601857', '601888', '601939', '601988', '601989', '603259', '603993']
    输出选出的股票池
    ['600000', '600690']
    

    下面给出全部代码.

    #小白量化选股 : 5日均线上穿20日均线
    #购买 零基础搭建量化投资系统 正版书,送小白量化软件源代码。
    # https://item.jd.com/61567375505.html
    #独狼荷蒲qq:2775205
    #通通python量化群:524949939
    #电话微信:18578755056
    #微信公众号:独狼股票分析
    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') #返回板块中的股票
    print('小白量化选股: 5日均线上传20日均线')
    print('输出股票池或板块中股票')
    print(codes)
    #均线选股函数
    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=0, nCount=40) #获取指定范围的证券K线
     ##数据规格化 
     df3.dropna(inplace=True)
     #小白数据规格化
     mydf=df3.copy()
     CLOSE=mydf['close']
     LOW=mydf['low']
     HIGH=mydf['high']
     OPEN=mydf['open']
     VOL=mydf['volume']
     C=mydf['close']
     L=mydf['low']
     H=mydf['high']
     O=mydf['open']
     V=mydf['volume']
     #仿通达信,大智慧公式计算和选股
     MA5=MA(CLOSE,5)
     MA20=MA(CLOSE,20)
     B=CROSS(MA5,MA20) #5日均线上穿20日均线
     B2=list(B)
     return B2[len(B2)-1]
    

    读者可以根据上面的代码,改为自己的自编指标进行选股.
    京东、淘宝、当当网等购买正版 零基础搭建量化投资系统——以Python为工具 书,加读者群,除了获得小白量化源代码外,赠送第2代小白量化源代码和相关金融模块源代码。HP_tdx.py是第2代中实时行情模块。

    九毛八公式指标,一个优质的公式指标平台!
    九毛八公式指标 » 自己做量化交易软件(20)通达信公式选股程序的实现 加入收藏