hqchartPy2数据对接教程2-股本数据,筹码分布函数

总股本获取接口函数

# TOTALCAPITAL  当前总股本(手)
def GetTotalCapital(self,symbol, period, right, kcount,jobID):

流通股本获取接口函数

# CAPITAL 最新流通股本(手)
def GetCapital(self,symbol, period, right, kcount,jobID):

历史流通股本获取接口函数

历史流通股本是计算筹码分布需要用到的数据, 所有如果要支持筹码分布函数就必须对接这个数据
筹码分布函数包括WINNER,WINNERB,COST,COSTEX,LWINNER,LWINNERB,PWINNER,PWINNERB,PPART

# 历史所有的流通股本 时间序列
def GetHisCapital(self,symbol, period, right, kcount,jobID):

参数说明

symol

股票代码

period

周期
0=日线 1=周线 2=月线 3=年线 4=1分钟 5=5分钟 6=15分钟 7=30分钟 8=60分钟 9=季线 10=分笔

right

复权
0=不复权 1=前复权 2=后复权

kcount

k线个数

jobID

任务id

返回数据格式

返回一个字典类型的数据

单数值类型

如:TOTALCAPITAL ,CAPITAL 都是返回最新的数据
格式
{'type‘:0, data:数据 }

时间序列数据

GetHisCapital 是返回历史的流通股本,是一个时间序列数据, 降序排序
格式
{‘type’:2, data:数据数组 , date:日期数组(数值型)}

tushare数据对接例子

数据使用tushare的daily_basic数据接口, 接口文档见https://waditu.com/document/2?doc_id=32

class TushareHQChartData(IHQData) :
.....................
   # 历史所有的流通股 
   def GetHisCapital(self,symbol, period, right, kcount, jobID):
        df=self.TusharePro.daily_basic(ts_code=symbol,start_date=str(self.StartDate), end_date=str(self.EndDate), fields='trade_date,float_share')
        df=df.sort_index(ascending=False) # 数据要降序排
        print(df)

        aryDate=df["trade_date"]
        aryDate[aryDate == ''] = 0
        aryDate = aryDate.astype(np.int).tolist()

        aryShare=np.multiply(df["float_share"],10000).tolist()

        result={
    
    "type": 2}  # 类型2 根据'date'自动合并到K线数据上
        result["data"]=aryShare
        result["date"]=aryDate
        return result

    # TOTALCAPITAL  当前总股本
    def GetTotalCapital(self,symbol, period, right, kcount, jobID) :
        df=self.TusharePro.daily_basic(ts_code=symbol, trade_date=str(self.EndDate), fields='trade_date,total_share')
        print(df)

        result={
    
    "type": 0}  # 类型0 单值数据
        result["data"]=df["total_share"]*10000/100
        return result

    # CAPITAL 最新流通股本(手)
    def GetCapital(self,symbol, period, right, kcount,jobID):
        df=self.TusharePro.daily_basic(ts_code=symbol, trade_date=str(self.EndDate), fields='trade_date,float_share')
        print(df)

        result={
    
    "type": 0}  # 类型0 单值数据
        result["data"]=df["float_share"]*10000/100
        return result

交流QQ群

如果有什么问题或需求可以加交流QQ群: 950092318** 联系群主(QQ48274798)

hqchartPy动态库地址

https://github.com/jones2000/HQChart/tree/master/C++指标计算引擎/py版本

HQChart代码地址

地址:https://github.com/jones2000/HQChart

猜你喜欢

转载自blog.csdn.net/jones2000/article/details/112060761