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.