자신의 양적 거래 소프트웨어를 수행하십시오 (24) Xiaobai는 Tongdaxin 금융을 모방하는 기본 데이터 공식을 양적으로 향상시킵니다.

자신의 양적 거래 소프트웨어를 수행하십시오 (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

추천

출처blog.csdn.net/hepu8/article/details/106972813