自分で量子化取引ソフトを作る(20)通達信公式選株プログラムの実現
自分で量子化取引ソフト(20)通達信公式選株プログラムの実現を行う.シロ2でうまく実現.まずプレートの株を取得し、リストに保存します.例えば「上証50」を取得する
2.次は、BとSのリストに格納するために、小白擬通達信式モードで指標計算を行う.ポイントを買う場合、Bリストは最後のデータが1であるかどうかを判断します.1の場合、株コードを株選択プールに保存します.これが株選択アルゴリズムです.株価相場のデータが多すぎて、計算が遅いので、すべてのデータを取得しないでください.MA 5でMA 20を着ていると、最長パラメータ20を使っているので、少なくとも40サイクルのデータを取得してこそ、正確になります.macd、最長サイクルパラメータ26を使用する場合は、少なくとも52サイクルのデータ相場を取得します.その他はこのように推す.すなわち,指標計算の正確さを保証し,計算速度を向上させた.この株を関数function(cd)とし,パラメータcdは株コードを表す.株選択戦略’5日平均線に20日平均線を通す’は,以下に実現関数を与える.
3.その後、循環して株式プールリストの株式相場を取得し、計算します.
4.出力結果
5.次は20200411の選出結果です.
以下、すべてのコードを示す.
読者は上記のコードに基づいて、自分の自作指標に変更して株を選ぶことができる.京东、淘宝、当当当网などは正版の本を买って、読者の群をプラスして、白の量子化のソースコードを获得する以外、第2世代の白の量子化のソースコードと関连する金融のモジュールのソースコードを赠ります.HP_tdx.pyは第2世代のリアルタイム相場モジュールです.
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の場合、株コードを株選択プールに保存します.これが株選択アルゴリズムです.株価相場のデータが多すぎて、計算が遅いので、すべてのデータを取得しないでください.MA 5でMA 20を着ていると、最長パラメータ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=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]
#
myblock=[] #
for code in codes:
buy=function(code) #
if buy==1:
myblock.append(code)
print(' ')
print(myblock)
読者は上記のコードに基づいて、自分の自作指標に変更して株を選ぶことができる.京东、淘宝、当当当网などは正版の本を买って、読者の群をプラスして、白の量子化のソースコードを获得する以外、第2世代の白の量子化のソースコードと関连する金融のモジュールのソースコードを赠ります.HP_tdx.pyは第2世代のリアルタイム相場モジュールです.