独自の定量的取引ソフトウェアを実行してください(24)Xiaobaiは、Tongdaxinを模倣した基本的な財務データ式を定量的に強化します
。Tongdaxin式インデックスには多くのシステムまたは基本機能があり、Xiaobai定量式システムは市場に関する式の基本機能のみを備えています。より自己コンパイルされたTongdaxin数式インジケーターの移植を容易にするために、新世代のXiaobai量子化システムのフレームワークで強化されたTongdaxin数式関数を紹介します。
このシステムは、基本的な株価と財務データを取得するために、Tongdaxinの見積もりに完全に依存しています。
まず、Xiaobaiの拡張式ライブラリHP_tdxgsモジュールを紹介します。
import HP_tdx as htdx
from HP_formula import *
import HP_tdxgs as hgs
HP_tdxgsモジュールでは、多くの基本的な機能を定義しました。
def WEEKDAY():
now = dt.datetime.now()
return now.weekday()
#取得当前客户端机器为星期几(1,2,3,4,5,6,0)
def MACHINEWEEK():
return dt.datetime.now().weekday()
#取得当前客户端机器从1900以来的的年月日,
def MACHINEDATE():
today=dt.date.today() #获取今天日期
date=today.year*10000+today.month*100+today.day-19000000
return date
#取得当前客户端机器的时间,比如11:01:15时为110115
def MACHINETIME():
today=dt.datetime.now()
time=today.hour*10000+today.minute*100+today.second
return time
def FINANCE(n):
global Cw,Base2
global Mydf
global Close,Low,High,Open,Vol,Amo
global Vol
global Period,Date,Time,Year,Month,Weekday,Day,Hour,Minute
global Code,Market,Setcode,Name,Py
global Mindiff,Tqflag,Useddatanum,Multiplier
global Totalcapital,Capital,Type2
if n==1:
return Cw['zongguben' ]
elif n==2:
return Setcode
elif n==3:
return Base2['type2']
elif n==4:
return 0
elif n==5:
if Base2['type2']==5:
return 1
else:
return 0
elif n==6:
if Cw['bgu']>0:
return 1
else:
return 0
elif n==7:
return Capital
elif n==8:
return Cw['gudongrenshu' ]
elif n==9:
return (Cw['zongzichan']-Cw['jingzichan'])/Cw['zongzichan']
elif n==10:
return Cw['zongzichan']
elif n==11:
return Cw['liudongzichan']
elif n==12:
return Cw['gudingzichan']
elif n==13:
return Cw['wuxingzichan']
elif n==14:
return 0
elif n==15:
return Cw['liudongfuzhai']
elif n==16:
return 0
elif n==17:
return Cw['zibengongjijin']
elif n==18: #每股公积金
return Cw['zibengongjijin']/Cw['zongguben']
elif n==19:
return Cw['jingzichan']/Cw['zongguben']
elif n==20:
return Cw['zhuyingshouru']
elif n==21: #营业成本
return Cw['zhuyingshouru']-Cw['zhuyinglirun']
elif n==22:
return Cw['zhuyingshouru']
elif n==23: #营业利润
return Cw['zhuyinglirun']
elif n==24: #投资收益
return Cw['touzishouyu']
elif n==25: #经营现金流量
return Cw['jingyingxianjinliu']
elif n==26: #总现金流量
return Cw['zongxianjinliu']
elif n==27: #存货
return Cw['cunhuo' ]
elif n==28: #营业利润
return Cw['zhuyinglirun']
elif n==29: #税后利润
return Cw['shuihoulirun' ]
elif n==30: #净利润
return Cw['jinglirun' ]
elif n==31: #未分配利润
return Cw['weifenpeilirun' ]
elif n==32: #每股未分配利润
return Cw['zhuyingshouru']/Cw['zongguben']
elif n==33: # 每股收益(折算为全年收益),对于沪深品种有效
return Cw['jinglirun' ]/Cw['zongguben']
elif n==34: #每股净资产
return Cw['meigujingzichan' ]
return None
def CW():
return Cw
def MYDF():
return Mydf
def BASE2():
return Base2
def CODE():
return Code
def NAME():
return Name
def PY():
return Py
def MARKET():
return Market
def SETCODE():
return Market
def PERIOD():
return Period
def TOTALCAPITAL():
return Totalcapital
def CAPITAL():
return Capital
def TYPE2():
return Type2
def CLOSE():
return Close
def C():
return Close
def LOW():
return Low
def L():
return Low
def HIGH():
return High
def H():
return High
def OPEN():
return Open
def O():
return Open
def VOL():
return Vol
def V():
return Vol
def VOLUME():
return Vol
def AMO():
return Amo
def AMOUNT():
return Amo
def MINDIFF():
return Mindiff
def TQFLAG():
return Tqflag
def USEDDATANUM():
return Useddatanum
def MULTIPLIER():
return Multiplier
def DATE():
return Date
def TIME():
return Time
def YEAR():
return Year
def MONTH():
return Month
def DAY():
return Day
def HOUR():
return Hour
def MINUTE():
return Minute
これらの関数は、ユーザーが使用するときに再度カプセル化する必要があります。
次に、株式の財務データ情報を取得します。
財務情報の基本的な公式は、株価と基本的な財務データを取得するために、Tongdaxinの見積もりに完全に依存する必要があります。
ここでは、関数get_security_bars(nCategory = 4、nMarket = -1、code = '000776'、
nStart = 0、nCount = 240)
を使用して、株式市場データを取得する必要があります。株式市場を読み取るときは、の基本データを取得します。ちなみに在庫。
最後に、これらの基本的な財務データ関数をユーザー作成の数式で使用できます。
式のデモンストレーションコードを以下に直接示します。
#增强通达信公式演示
'''
独狼荷蒲qq:2886002
通通小白python量化群:524949939
微信公众号:独狼股票分析
这个要完全依赖通达信行情,获取股票行情和财务基本数据.
用get_security_bars(nCategory=4,nMarket =-1,code='000776',\
nStart=0, nCount=240)
在读取股票行情时,顺便获取股票的基本数据.
下面是一个演示.
'''
import HP_tdx as htdx
from HP_formula import *
import HP_tdxgs as hgs
def FINANCE(x):
return hgs.FINANCE(x)
tdxapi=htdx.TdxInit(ip='180.153.18.171')
df=hgs.get_security_bars()
print('净利润: ',FINANCE(30)) #净利润
プログラムの最終的な実行結果は次のとおりです。
净利润: 2070542.25