Faça seu próprio software de negociação quantitativa (20) A realização do programa de seleção de ações da fórmula Tongdaxin

Faça seu próprio software de negociação quantitativa (20) A realização do programa de seleção de ações da fórmula Tongdaxin
1. Use o Xiaobai 2 para alcançá-lo. Primeiro pegue os estoques do setor e armazene-os na lista. Por exemplo, obtenha "Shanghai 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. Em seguida, use Xiaobai para imitar o modo de fórmula de Tongdaxin para calcular o índice e armazená-lo nas listas B e S.
Se for um ponto de compra, a lista B determina se os últimos dados são 1. Se for 1, salve o código de estoque no pool de separação de estoque.Este é o algoritmo de separação de estoque.
Como há muitos dados do mercado de ações e os cálculos são lentos, não obtenha todos os dados. Se você usar MA5 para usar MA20, porque o parâmetro 20 mais longo é usado, você precisa obter pelo menos 40 ciclos de dados para ser preciso.
Se você usar macd, o parâmetro de período mais longo é 26, você precisa obter pelo menos 52 períodos de dados. Outros e assim por diante. Isso é para garantir a precisão do cálculo do índice, mas também melhorar a velocidade do cálculo.
Fazemos essa função de seleção de estoque (cd), e o parâmetro cd representa o código do estoque.
A estratégia de seleção de ações 'média móvel de 5 dias cruza a média móvel de 20 dias', a função de realização é dada abaixo.

#均线选股函数: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=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. Em seguida, obtenha ciclicamente as cotações das ações na lista do estoque de ações e execute os cálculos.

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

4. Resultados de saída

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

5. A seguir estão os resultados selecionados de 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']

O código completo é fornecido abaixo.

#小白量化选股 : 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]
    

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

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

Os leitores podem selecionar ações com base no código acima e alterar para seus próprios indicadores auto-compilados.
Jingdong, Taobao, Dangdang, etc. compre o livro genuíno <Sistema de investimento quantitativo baseado em zero - usando Python como uma ferramenta>, adicione leitores, além disso para ficar pequeno Além do código-fonte quantitativo branco, o código-fonte quantitativo Xiaobai de 2ª geração e o código-fonte do módulo financeiro relacionado são apresentados. HP_tdx.py é o módulo de dados do mercado em tempo real na segunda geração.

Acho que você gosta

Origin blog.csdn.net/hepu8/article/details/105451351
Recomendado
Clasificación