api 使用说明书

基础模版

from zltquant import * 

def initialize(context):
    # 设置基准收益:沪深300指数
    set_benchmark('sh000300')

    # 打印日志
    print('策略开始运行,初始化函数全局只运行一次')

    # 股票类每笔交易时的手续费是:买入时佣金万分之三,卖出时佣金万分之三加千分之一印花税,每笔交易佣金最低扣5块钱
    set_order_cost(OrderCost(open_tax=0,close_tax=0.001,open_commission=0.0003,close_commission=0.0003,close_today_commission=0,min_commission=5),type='stock')

    # 为股票设定滑点为百分比滑点
    set_slippage(FixedPercent(0.00246),type='stock')

    # 设置要操作的股票池
    g.security=[]

    # 回测区间、初始资金、运行频率请在下方设置

# 每日开盘前9:00被调用一次,用于储存自定义参数、全局变量,执行盘前选股等
def before_trading(context):

    # 获取日期
    date=context.current_dt

    # 打印日期
    print('{} 盘前运行'.format(date))

def handle_data(context):
    # 获取时间
    time=context.current_dt

    # 打印时间
    print('{} 盘中运行'.format(time))

# 收盘后运行函数,用于储存自定义参数、全局变量,执行盘后选股等
def after_trading(context):

    # 获取时间
    time=context.current_dt
    # 打印时间
    print('{} 盘后运行'.format(time))
    print('一天结束')

if __name__=='__main__':
    run_main()

策略运行时对象

Context

属性

  • portfolio:总账户(Portfolio 对象)
  • run_params:运行参数(Run_params 对象)
  • universe:股票池(list[str]),和 set_universe 一起使用
  • previous_date:上一个交易日(datetime.date 对象)
  • current_dt:策略运行时的当前时间(datetime.datetime 对象)

举例

print('上个交易日为',context.previous_date)

注意为了保证策略的效率,在 context 中的持仓和资产信息,并不会自动更新.需要手动调用 update_cash_info()方法来更新.

Portfolio

属性

  • inout_cash:出入金
  • available_cash:可用资金
  • locked_cash:冻结资金
  • margin:保证金
  • positions:持仓 dict{security:Position 对象},等同于 long_positions
  • long_positions:持多仓 dict{security:Position 对象}
  • short_positions:持空仓 dict{security:Position 对象}
  • total_value:总资产, 资金余额 + 当日持仓市值
  • returns:总权益的累计收益,(当前总资产 + 今日出入金 - 昨日总资产) / 昨日总资产;
  • starting_cash:初始资金
  • positions_value:持仓价值

注:使用 update_cash_info 更新后可获取 Portfolio 对象最新值

order(stock,-amount)
update_cash_info()
print('最新可用资金为',context.portfolio.available_cash)

Run_params

属性

  • start_date:回测起始时间,datetime.date 对象
  • end_date:回测结束时间,datetime.date 对象
  • type:回测类型,默认:'simple_backtest'
  • frequency:回测频率,默认'day',支持'day','min','tick'
print('策略周期的开始时间',context.run_params.start_date)

Position

  • security:标的代码
  • price:最新行情价格
  • acc_avg_cost:累计的持仓成本 在清仓/减合时也会更新,该持仓累积的收益都会用于计算成本(一开始 acc_avg_cost 为 0,amount 也为 0), 加仓:new_acc_avg_cost=(acc_avg_cost amount + trade_value + commission)/(amount + trade_amount); 减仓:new_acc_avg_cost=(acc_avg_cost amount - trade_value + commission)/(amount - trade_amount) 说明:commission 是本次买入或者卖出的手续费
  • avg_cost:当前持仓成本 只有在开仓/加仓时会更新:new_avg_cost=(position_value + trade_value + commission)/(position_amount + trade_amount) 每次买入后会调整 avg_cost,卖出时 avg_cost 不变.这个值也会被用来计算浮动盈亏.
  • hold_cost:当日持仓成本 计算方法: 当日无收益:hold_cost=前收价 (清算后), 加仓:hold_cost=(hold_cost amount + trade_value)/(amount + trade_amount), 减仓:hold_cost=(hold_cost amount - trade_value)/(amount - trade_amount); trade_value=trade_price * trade_amount
  • locked_amount:挂单冻结仓位
  • total_amount:总仓位,但不包括挂单冻结仓位( 如果要获取当前持仓的仓位,需要将 locked_amount 和 total_amount 相加)
  • closeable_amount:可卖出的仓位
  • today_amount:今天开的仓位
  • value:标的价值 计算方法是:price total_amount multiplier,其中股票、基金的 multiplier 为 1,期货为相应的合约乘数
  • side:多/空,'long' or 'short

举例

Position(security=sz000001,price=14.0,avg_cost=14.09000015258789,locked_amount=0,total_amount=6400,closeable_amount=6400,today_amount=0,value=89600.0,side=long,pindex=0)

Order

  • order_id: order_id
  • status: 状态, 一个 OrderStatus 值
  • add_time: 订单添加时间, [datetime.datetime]对象
  • security: 股票代码
  • amount: 下单数量, 不管是买还是卖, 都是正数
  • filled: 已经成交的股票数量, 正数
  • side: 多/空,'long'/'short'
  • action: 开/平, 'open'/'close'
  • price: 平均成交价格, 已经成交的股票的平均成交价格(一个订单可能分多次成交)
  • commission:交易费用(佣金、税费等)
  • style:OrderStyle 对象
  • profit:平仓盈亏

示例

# UserOrder({'order_id':ZLT-0000000--sz000001,'status':9,'add_time':2024-09-25 09:30:00,'security':sz000001,'amount':87500,'filled':87500,'side':long,'action':open,'price':10.63,'commission':279.04,'style':MarketOrderStyle: _limit_price=0.0,'profit':0.0})

Trade

订单的一次交易记录,一个订单可能分多次交易

  • time: 交易时间, [datetime.datetime]对象
  • security:标的代码
  • amount: 交易数量
  • price: 交易价格
  • trade_id: 交易记录 id
  • order_id: 对应的 order_id

示例

# {'ZLT-0000000--sz000001': Trade({'trade_id': ZLT-0000000--sz000001-1, 'order_id': ZLT-0000000--sz000001, 'time': 2024-09-25 09:30:00, 'amount': 87500, 'price': 10.63)}}

OrderStatus

**class** **OrderStatus**():
    # 待申报
    prepare = 1
    # 已申报
    already = 2
    # 废单
    cancel = 3
    # 送转股
    share = 4
    # 未成交
    unfilled = 5
    # 部分成交
    partially_filled = 6
    # 部成部撤
    partially_cancelled = 7
    # 全部撤单
    cancelled = 8
    # 全部成交
    filled = 9

OrderStyle

# 限价
class LimitOrderStyle(OrderStyle):**
**    def __init__(self, limit_price):**
**        self.limit_price = limit_price
# 市价 交易科创板时,limit_price为保护限价
class MarketOrderStyle(OrderStyle):
   def __init__(self, limit_price):
        self.limit_price = limit_price

设置函数

set_benchmark-设置需要作为判断的基准

仅初始化时设置有效,默认是沪深 300

set_benchmark(security)

参数

  • security:指数/股票/etf 等标的代码.

返回

None

举例

def initialize(context):
    set_benchmark('sh000300')

注:如果没有调用 set_benchmark 函数,系统默认使用 set_benchmark('sh000300')作为基准.

set_option-设置策略参数

仅初始化时设置有效

set_option(mode,value)

参数

  • mode:设置参数

返回

None

举例

def initialize(context):
    # 设定成交量比例,根据实际行情限制每个订单的成交量.value:value 是一个 float 值,默认为1.0,根据实际行情限制每个订单的成交量.
    set_option('order_volume_ratio',1)

    # 设定是否使用盘口撮合模式.此选项只对模拟盘生效,默认关闭  value:true|false
    set_option('match_with_order_book',false)

    # 如果策略里设置的账户数多于界面上添加的账户数,设定超出的账户模式.value: 是一个int值.填1时,使用超出范围的账户下单会直接报错.填2时,使用超出范围的账户会改成用第一个账户下单.默认是1
    set_option('excess_account',1)

set_order_cost-设置佣金印花税等交易费率

仅初始化时设置有效

set_order_cost(cost,type,ref=None)

参数

  • cost:OrderCost 对象

    • open_tax:买入时印花税(只股票类标的收取,基金与期货不收)
    • close_tax:卖出时印花税(只股票类标的收取,基金与期货不收)
    • open_commission:买入时佣金,按照成交额计算手续费时设置该值
    • open_fixed_commission:买入时佣金,按照固定手续费计算时设置该值,仅期货有效,和'open_commission'不能同时设置
    • close_commission:卖出时佣金,按照成交额计算手续费时设置该值
    • close_fixed_commission:卖出时佣金,按照固定手续费计算时设置该值,仅期货有效,和'close_commission'不能同时设置
    • close_today_commission:平今仓佣金,按照成交额计算手续费时设置该值
    • close_fixed_today_commission:平今时佣金,按照固定手续费计算时设置该值,仅期货有效,和'close_today_commission'不能同时设置
    • min_commission:最低佣金,不包含印花税
  • type:股票 'stock'/基金 'fund'/债券 'bond'/期货 'futures',暂时只支持股票
  • ref(暂不支持):参考代码

返回

None

举例

def initialize(context):
    # 股票类每笔交易时的手续费是:买入时佣金万分之三,卖出时佣金万分之三加千分之一印花税,每笔交易佣金最低扣5块钱
    set_order_cost(OrderCost(open_tax=0,close_tax=0.001,open_commission=0.0003,close_commission=0.0003,close_today_commission=0,min_commission=5),type='stock')

    # 期货类每笔交易时的手续费是:买入时万分之0.23,卖出时万分之0.23,平今仓为万分之23
    set_order_cost(OrderCost(open_tax=0,close_tax=0,open_commission=0.000023,close_commission=0.000023,close_today_commission=0.0023,min_commission=0),type='futures')

set_slippage-设置滑点

仅初始化时设置有效

set_slippage(object,type=None,ref=None)

参数

  • object:滑点对象

    • 固定值:这个价差可以是一个固定的值(比如 0.02 元,交易时加减 0.01 元),设定方式为:FixedSlippage(0.02)
    • 百分比:这个价差可以是是当时价格的一个百分比(比如 0.2%,交易时加减当时价格的 0.1%),设定方式为:FixedPercent(0.002)
  • type:交易品种 股票 'stock'/基金 'fund'/债券 'bond'/期货 'futures',暂时只支持股票
  • ref(暂不支持):标的代码.如要为特定交易标的单独设置滑点,必须同时设置 type 为交易标的的交易品种.

返回

None

举例

def initialize(context):
    # 为全部交易品种设定固定值滑点
    set_slippage(FixedSlippage(0.02))

    # 为股票设定滑点为百分比滑点
    set_slippage(FixedPercent(0.00246),type='stock')

set_universe-设置或者更新此策略要操作的股票池

set_universe(security_list)

设置或者更新此策略要操作的股票池;可以通过 context.universe 来获取设置后的值.设置 get_price 默认 security 参数

参数

  • security_list:str/list[str],股票列表

返回

None

举例

set_universe(['sz000001','sh600000'])
print(context.universe)

update_cash_info-更新账户信息

order(stock,-amount)
update_cash_info()

运行函数

注意只有在使用相同的参照标的时,定时运行函数的优先级别为:run_monthly>run_weekly>run_daily 且与函数被注册的顺序无关;handle_data 的执行顺序与前述函数无关.用户策略不应该依赖于这些计划任务执行的顺序.

run_daily-每天的某一个时刻执行策略函数

每天的某一个时刻执行策略函数

run_daily(func,time,reference_security='sz000001')

参数

  • func :自定义函数,此函数必须接受 context 参数
  • time :运行时间,'hh:mm',有以下方式:

    • 24 小时内的任意时间,例如'10:00','01:00';在 tick 频率的策略中,可以精确到秒.指定为具体时间时,不可设置 reference_security 参数.
    • time='every_bar',只能在 run_daily 中调用,运行时间和您设置的频率一致,按天会在交易日的开盘时调用一次,按分钟会在交易时间每分钟运行.
    • time='open'或 'open+5m'或'open-10m' 这种形式:代表在 reference_security 对应标的开盘时间(或加减 X 分钟)运行一次.期货有夜盘,开盘时间点不定.注:以参考'sz000001'为例,'open'指的是 9:30,'open+5m'指的是 9:35.
  • reference_security :参考标的,str,默认为'sz000001'. 如参照 'sz000001',交易时间为 9:30-15:00;如参照'dsAL8',因为有夜盘,因此开始时间为 21:00,结束时间为 15:00.期货策略一定要修改参考标的,建议修改为对应的主力合约.当 time 为具体时间时请勿设置此参数

举例

def initialize(context):
    ...
    # 每个交易日的09:30分执行
    run_daily(algo,time='09:30')
    ...

def algo(context):
    # 编写自己的代码
    pass

run_weekly-每周的某个交易日的某个时刻执行策略函数

每周的第 weekday 个交易日的某个时刻执行策略函数

run_weekly(func,time,weekday,reference_security='sz000001',force=True)

参数

  • func :自定义函数,此函数必须接受 context 参数
  • time :运行时间,'hh:mm',有以下方式:

    • 24 小时内的任意时间,例如'10:00','01:00';在 tick 频率的策略中,可以精确到秒.指定为具体时间时,不可设置 reference_security 参数.
    • time='open'或 'open+5m'或'open-10m' 这种形式:代表在 reference_security 对应标的开盘时间(或加减 X 分钟)运行一次.期货有夜盘,开盘时间点不定.注:以参考'sz000001'为例,'open'指的是 9:30,'open+5m'指的是 9:35.
  • weekday :第几个交易日,仅正数.force=True 时如果超出每周总交易日个数,则取临近的交易日执行;force=False,不会就近执行.
  • reference_security :参考标的,str,默认为'sz000001'. 如参照 'sz000001',交易时间为 9:30-15:00;如参照'dsA2503',因为有夜盘,因此开始时间为 21:00,结束时间为 15:00.期货策略一定要修改参考标的,建议修改为对应的主力合约.当 time 为具体时间时请勿设置此参数
  • force :run_weekly 和 run_monthly 中使用,run_daily 不可使用;表示若注册回调函数的时间不在第一次回调的执行时间范围内是否就近执行;默认为 True,建议使用 False

举例

def initialize(context):
    ...
    # 每周的第一个交易日的09:30分执行
    run_weekly(algo,1,time='09:30')
    ...

def algo(context):
    # 编写自己的代码
    pass

run_monthly-每月的某个交易日的某个时刻执行策略函数

每月的第 monthday 个交易日的某个时刻执行策略函数,默认 09:30

run_monthly(func,time,monthday,reference_security='sz000001',force=True)

参数

  • func :自定义函数,此函数必须接受 context 参数
  • time :运行时间,'hh:mm',有以下方式:

    • 24 小时内的任意时间,例如'10:00','01:00';在 tick 频率的策略中,可以精确到秒.指定为具体时间时,不可设置 reference_security 参数.
    • time='open'或 'open+5m'或'open-10m' 这种形式:代表在 reference_security 对应标的开盘时间(或加减 X 分钟)运行一次.期货有夜盘,开盘时间点不定.注:以参考'sz000001'为例,'open'指的是 9:30,'open+5m'指的是 9:35.
  • monthday :第几个交易日,仅正数.force=True 时如果超出每月总交易日个数,则取临近的交易日执行;force=False,不会就近执行.
  • reference_security :参考标的,str,默认为'sz000001'. 如参照 'sz000001',交易时间为 9:30-15:00;如参照'dsA2503',因为有夜盘,因此开始时间为 21:00,结束时间为 15:00.期货策略一定要修改参考标的,建议修改为对应的主力合约.当 time 为具体时间时请勿设置此参数
  • force :run_weekly 和 run_monthly 中使用,run_daily 不可使用;表示若注册回调函数的时间不在第一次回调的执行时间范围内是否就近执行;默认为 True,建议使用 False

举例

def initialize(context):
    ...
    # 每个月的第一个交易日的09:30分执行
    run_monthly(algo,1,time='09:30')
    ...

def algo(context):
    # 编写自己的代码
    pass

handle_data-根据执行频率触发的函数

handle_data(context)

根据执行策略时,选择的频率触发的函数.函数依据的时间是股票的交易时间,默认:

  • min:每分钟触发一次;周期:09:30~15:00.
  • day:每天的 09:30 触发一次.

参数

  • context:全局上下文对象

举例

def initialize(context):
    # 设置sh000300为基准
    set_benchmark('sh000300')
    pass

def handle_data(context):
    # 编写每一个频率要处理的事件
    pass

before_trading_start-每日开盘前运行

每日开盘前运行,该函数参考股票交易时段,启动时间为'09:00'.(注:期货因为有夜盘,开盘时间点不定,若有开盘任务请使用定时任务触发.)

def before_trading_start(context):
    # 编写开盘前要做的逻辑
    pass
def initialize(context):
    pass

after_trading_end-每日收盘后运行

每日收盘后运行,该函数参考股票交易时段,启动时间为'15:30'.(注:期货因为有夜盘,开盘时间点不定,若有开盘任务请使用定时任务触发.)

def after_trading_end(context):
    # 编写收盘时要做的逻辑
    pass
def initialize(context):
    pass

on_strategy_end-策略正常结束时执行

def on_strategy_end(context):
    print("on_strategy_end")

交易函数

order-买卖标的

order(security,amount,style=None,side='long',close_today=false,account)

参数

  • security:标的代码,支持股票、期货、ETF、可转债
  • amount:交易数量(股),正数表示买入,负数表示卖出
  • style:OrderStyle 对象,MarketOrderStyle(limit_price)/LimitOrderStyle(limit_price),市价/限价.默认是 MarketOrderStyle(0).
  • side:'long'/'short',操作多单还是空单.默认为多单,股票、ETF 暂不支持开空单
  • close_today:平今/平昨字段,期货专用.不管 close_today 是 true 还是 false,此函数只会产生一个订单,区别在于平仓时的手续费计算,平昨仓使用 close_commission 对应手续费率,平今仓使用 close_today_commission 手续费率.

    • close_today=true,只平今仓,今仓不足的时候,订单将会被废单.
    • close_today=false,优先平昨仓,昨仓不足部分平今仓
  • account:int,指定第几个账户,1 是第一个,2 是第二个...按顺序.

    • 回测时,只有一个账户,这个参数无效.仿真和实盘时,和界面上添加的账户顺序对应.
    • 注意:如果策略里设置的账户数多于界面上添加的账户数,默认使用超出范围的账户会直接报错.如果想修改,参考设置函数 set_option().

返回

  • 成功:str,order_id
  • 失败:None

order_target-买卖标的使最终标的的数量达到指定的数量

order_target(security,amount,style=None,side='long',close_today=false,account)

注意使用此接口下单时若指定的标的有未完成的订单,则先前未完成的订单将会被取消

参数

  • security:标的代码,支持股票、期货、ETF、可转债
  • amount:期望的最终数量
  • style:OrderStyle 对象,MarketOrderStyle(limit_price)/LimitOrderStyle(limit_price),市价/限价.默认是 MarketOrderStyle(0)
  • side:'long'/'short',操作多单还是空单.默认为多单,股票、ETF 暂不支持开空单.
  • close_today:平今/平昨字段,期货专用.不管 close_today 是 true 还是 false,此函数只会产生一个订单,区别在于平仓时的手续费计算,平昨仓使用 close_commission 对应手续费率,平今仓使用 close_today_commission 手续费率.

    • close_today=true,只平今仓,今仓不足的时候,订单将会被废单.
    • close_today=false,优先平昨仓,昨仓不足部分平今仓
  • account:int,指定第几个账户,1 是第一个,2 是第二个...按顺序.

    • 回测时,只有一个账户,这个参数无效.仿真和实盘时,和界面上添加的账户顺序对应.
    • 注意:如果策略里设置的账户数多于界面上添加的账户数,默认使用超出范围的账户会直接报错.如果想修改,参考设置函数 set_option().

返回

  • 成功:str,order_id
  • 失败:None

order_target_value-调整标的仓位到指定价值

order_target_value(security,value,style=None,side='long',close_today=false,account)

注意使用此接口下单时若指定的标的有未完成的订单,则先前未完成的订单将会被取消

参数

  • security:标的代码,支持股票、期货、ETF、可转债
  • value:期望的标的最终价值,value=最新价 手数 保证金率(股票为 1) * 乘数(股票为 100)
  • style:OrderStyle 对象,MarketOrderStyle(limit_price)/LimitOrderStyle(limit_price),市价/限价.默认是 MarketOrderStyle(0)
  • side:'long'/'short',操作多单还是空单.默认为多单,股票、ETF 暂不支持开空单.
  • close_today:平今/平昨字段,期货专用.不管 close_today 是 true 还是 false,此函数只会产生一个订单,区别在于平仓时的手续费计算,平昨仓使用 close_commission 对应手续费率,平今仓使用 close_today_commission 手续费率.

    • close_today=true,只平今仓,今仓不足的时候,订单将会被废单.
    • close_today=false,优先平昨仓,昨仓不足部分平今仓
  • account:int,指定第几个账户,1 是第一个,2 是第二个...按顺序.

    • 回测时,只有一个账户,这个参数无效.仿真和实盘时,和界面上添加的账户顺序对应.
    • 注意:如果策略里设置的账户数多于界面上添加的账户数,默认使用超出范围的账户会直接报错.如果想修改,参考设置函数 set_option().

返回

  • 成功:str,order_id
  • 失败:None

order_value-买卖价值为指定价值的标的

order_value(security,value,style=None,side='long',close_today=false,account)

参数

  • security:标的代码,支持股票、期货、ETF、可转债
  • value:股票价值,value=最新价 手数 保证金率(股票为 1) * 乘数(股票为 100)
  • style:OrderStyle 对象,MarketOrderStyle(limit_price)/LimitOrderStyle(limit_price),市价/限价.默认是 MarketOrderStyle(0)
  • side:'long'/'short',操作多单还是空单.默认为多单,股票、ETF 暂不支持开空单.
  • close_today:平今/平昨字段,期货专用.不管 close_today 是 true 还是 false,此函数只会产生一个订单,区别在于平仓时的手续费计算,平昨仓使用 close_commission 对应手续费率,平今仓使用 close_today_commission 手续费率.

    • close_today=true,只平今仓,今仓不足的时候,订单将会被废单.
    • close_today=false,优先平昨仓,昨仓不足部分平今仓
  • account:int,指定第几个账户,1 是第一个,2 是第二个...按顺序.

    • 回测时,只有一个账户,这个参数无效.仿真和实盘时,和界面上添加的账户顺序对应.
    • 注意:如果策略里设置的账户数多于界面上添加的账户数,默认使用超出范围的账户会直接报错.如果想修改,参考设置函数 set_option().

返回

  • 成功:str,order_id
  • 失败:None

order_etf-etf 实物申赎

order_etf(etf_code, amount,trade_type,cash_list,stock_list,account)

参数

  • etf_code:etf代码,str
  • amount:申购数量,int
  • trade_type:'esg' 申购,'ehh'赎回
  • cash_list:仅申购使用,需要现金替代的金额列表,list[str]
  • stock_list:仅申购使用,需要现金替代的代码列表,list[str]
  • account:int,指定第几个账户,1是第一个,2是第二个...按顺序.

    • 回测时,只有一个账户,这个参数无效.仿真和实盘时,和界面上添加的账户顺序对应.
    • 注意:如果策略里设置的账户数多于界面上添加的账户数,默认使用超出范围的账户会直接报错.如果想修改,参考设置函数 set_option().

返回

  • 成功:str,order_id
  • 失败:None

get_open_orders-获取当天的所有未完成的委托详情

get_open_orders()

get_orders-获取委托详情

获取指定订单对象/当天的所有订单委托详情

get_orders(order_id=None)

参数

  • order_id:订单编号,由下单函数返回.不传参数时,返回当天所有委托订单

返回

返回一个[Order]对象或一个 dict, key 是 order_id, value 是[Order]对象

示例

a = order_target_value(stock, cash)
print(get_orders()[a])

# UserOrder({'order_id':ZLT-0000000--sz300418,'status':filled,'add_time':2023-02-20 09:30:00,'security':sz300418,'amount':36200,'filled':36200,'side':long,'action':open,'price':23.2200,'commission':252.1691,'style':MarketOrderStyle: _limit_price=0.0})

get_trades-获取当天成交详情

get_trades()

返回

返回一个 dict, key 是 trade_id, value 是[Trade]对象

cancel_order-撤单

cancel_order(order)

参数

  • order:[Order]对象或者 order_id

inout_cash-账户转入或转出资金

inout_cash(cash)

账户转入或转出资金,当日的出入金从当日开始记入成本,用于计算收益,即当日结束计算收益时的本金是包含当日出入金金额的(暂不支持)

参数

  • cash:可正可负,正为入金,负为出金.

事件通知

on_position_warning-当仓位到达指定位置时触发

当仓位到达指定位置时触发(默认 70%)

on_position_warning(context,msg)

参数

  • context:上下文对象
  • msg:当前仓位,百分比

on_order-当订单撮合成功后触发

on_order(context,msg)

参数

  • context:上下文对象
  • msg:当前成交的订单信息

工具函数

log-日志log信息

分级别打 log,输出到终端和日志文件,有四个等级 'debug','info','warning','error',级别:debug < info < warning < error .类似 print,但是 print 不会输出到日志文件中

举例

log.debug("user logged in successfully.")
log.info("user logged in successfully.")
log.warning("user logged in successfully.")
log.error("user logged in successfully.")

set_level-设置日志级别

设置 log 的级别,低于这个级别的 log 不会输出.默认级别是 info.

函数原型

log.set_level(level)

参数

  • level:日志级别,string,必须是 'debug','info','warning','error','off' 中的一个,级别:debug < info < warning < error < off.
    • debug: 调试信息,细粒度信息,对调试应用程序非常有帮助.
    • info:信息级别,描述应用程序的运行过程.log.info()输出的日志也输入 info 级别
    • warn:警告信息,指明潜在的危险状况.
    • error:错误事件,但应用程序可能继续运行.
    • off:用于关闭所有日志记录.

举例

log.set_level('debug')

时间函数

fromopen-当前离开盘分钟数

当前离开盘分钟数(股票大盘),例如:9.30 返回 0,9:30 返回 1...

fromopen()

period-周期类型

取得当前周期类型

period()

返回

结果从 0 到 13,

  • 1 分钟:0
  • 5 分钟:1
  • 15 分钟:2
  • 30 分钟:3
  • 60 分钟:4
  • 日线:5
  • 周线:6
  • 月线:7
  • 10 分钟:8
  • 45 日:9
  • 季线:10
  • 年线:11
  • 5 秒钟:12
  • 15 秒:13

weekofyear-计算当前周是年内第几个周

weekofyear()

get_trade_date-查询指定日期所属交易日

get_trade_date(security,date=None)

查询指定日期所属交易日,指定日期未上市或退市则返回空.

参数

  • security:证券代码,str
  • date:指定日期,str/时间戳/datetime.支持到分钟

注意

  • 如果传入的 date 在两个交易日之间,返回上一个交易日;
  • 如果传入的 date 处于停牌(不包括当日临停),返回上一个交易日;
  • 对于有夜盘的交易标的:若传入时刻处于夜盘,则返回下一个交易日的日期;
  • 对于未上市或退市标的也返回 None ;
  • 交易日的定义:

    • 对于无夜盘品种,以每日 0 点作为一个交易日的开始,至下一个交易日 0 点结束;
    • 对于有夜盘品种,以夜盘集合竞价开始时作为一个交易日开始,至下一个交易日夜盘集合竞价开始时结束;

返回一个 dataframe

  • trade_date:交易日,datetime.date

示例

get_trade_date(security=['sh600000','sz000001'],date='2020-07-01')
'''
---         trade_date
sh600000    2020-06-21
sz000001    2020-06-21
'''

count_diff_trade_days-计算指定时间区间内的交易日天数

count_diff_trade_days(security='sh000001',start_date='1990-01-01',end_date=None,day_type=TRADE)

计算指定时间区间内的交易日天数.count_diff_trade_days()默认求所有交易日的天数.

参数

  • security:标的,str/list[str],默认'sh000001',上证指数
  • start_date:区间开始日期,str/时间戳/datetime/list/ndarray/dataframe,截取到日期.默认'1990-01-01'
  • end_date:区间结束日期,str/时间戳/datetime/list/ndarray/dataframe,截取到日期.默认回测时间
  • day_type:日期类型,可选填枚举 DAY_TYPE 常量 DAY_TYPE.TRADE、DAY_TYPE.NORMAL、work,默认填 trade 交易日

返回一个 dataframe

示例

count_diff_trade_days(security=['sh600000','sz000001'],start_date=['1999-11-10','1999-11-11'],end_date='1999-11-20')
'''
---         diff_trade_days
sh600000    4
sz000001    5
'''

get_offset_days-计算指定日期偏移交易日的日期

get_offset_days(security='sh000001',date=None,ndays,day_type=DAY_TYPE.TRADE)

计算指定日期偏移 n 个交易日的日期.0 是指定日期当天(指定日期为非交易日则传入上一个最近的交易日)

参数

  • security:标的,str/list[str].默认'sh000001'
  • date:指定日期,str/时间戳/datetime/list/ndarray/dataframe,截取到日期.默认回测时间
  • ndays:偏移天数,int.为正是向过去偏移,为负是向未来偏移,0 时输出传入的指定日期(指定日期为非交易日则传入上一个最近的交易日)
  • day_type:日期类型,可选填枚举 DAY_TYPE 常量 DAY_TYPE.TRADE、DAY_TYPE.NORMAL、work,默认填 trade 交易日

返回一个 dataframe

  • offset_days:日期,datetime.date

示例

get_offset_days(security=['sh600000','sz000001'],date='2020-07-01',ndays=10)
'''
---         offset_days
sh600000    2020-06-21
sz000001    2020-06-21
'''

基本数据

get_sectype-获取多个标的证券类型

get_sectype(security)

获取多个标的的证券类型

参数

  • security:证券代码,str 或 list[str]

返回一个 dataframe

  • type:类型,int
序号
种类
13
上海主板
14
深证主板
18
科创版
19
创业板
20
b股
32
债券
48
基金
64
指数
80
期货
224
其他
225
未知

示例

data=get_sectype(['sh600000','sz000001'])
print(data)
'''
             type
sh600000     13
sz000001     14
'''

get_all_trade_days-获取所有交易日列表

get_all_trade_days()

获取所有交易日

返回获取交易日 list[datetime.date]

示例

data=get_all_trade_days()
print(data)
'''
[datetime.date(1990, 1, 1), datetime.date(1990, 1, 2), datetime.date(1990, 1, 3), datetime.date(1990, 1, 4)]
'''

get_trade_days-获取指定范围的所有交易日

get_trade_days(start_date=None,end_date=None,count=None)

获取指定范围的所有交易日

参数

  • start_date:开始时间,datetime.date/datetime.datetime/'yyyy-mm-dd'/'yyyy-mm-dd hh:mm:ss'/时间戳,截取到日期
  • end_date:结束时间,datetime.date/datetime.datetime/'yyyy-mm-dd'/'yyyy-mm-dd hh:mm:ss'/时间戳,截取到日期,默认回测时间
  • count:获取数量,int,和 start_date 不可同时使用

返回获取交易日 list[datetime.date]

示例

data=get_trade_days(start_date='2023-10-10',end_date='2023-11-10')
print(data)
'''
[datetime.date(2023, 10, 25), datetime.date(2023, 10, 26), datetime.date(2023, 10, 27), datetime.date(2023, 10, 30), datetime.date(2023, 10, 31), datetime.date(2023, 11, 1), datetime.date(2023, 11, 2), datetime.date(2023, 11, 3), datetime.date(2023, 11, 6), datetime.date(2023, 11, 7), datetime.date(2023, 11, 8), datetime.date(2023, 11, 9), datetime.date(2023, 11, 10)]
'''
data1=get_trade_days(end_date='2023-11-10',count=10)
print(data1)
'''
[datetime.date(2023, 10, 30), datetime.date(2023, 10, 31), datetime.date(2023, 11, 1), datetime.date(2023, 11, 2), datetime.date(2023, 11, 3), datetime.date(2023, 11, 6), datetime.date(2023, 11, 7), datetime.date(2023, 11, 8), datetime.date(2023, 11, 9), datetime.date(2023, 11, 10)]
'''

get_trade_day-根据标的获取指定时间范围内的交易日

get_trade_day(security,start_date,end_date=None,count)

根据标的获取指定时间范围内的交易日

参数

  • security:标的代码,str/list
  • start_date:开始时间,datetime.date/datetime.datetime/'yyyy-mm-dd'/'yyyy-mm-dd hh:mm:ss'/时间戳,截取到日期
  • end_date:截止时间,datetime.date/datetime.datetime/'yyyy-mm-dd'/'yyyy-mm-dd hh:mm:ss'/时间戳,截取到日期,默认回测时间
  • count:表示取 end_date 往前的 count 个交易日,int,和 start_date 不可同时使用

单股返回 list[datetime.date],多股返回 dict

  • key:股票代码,str
  • value:交易日列表 list[datetime.date]

示例

data=get_trade_day('sh688318',start_date='2023-10-10',end_date='2023-11-10')
print(data)
'''
{'sh688318':[2023-10-10 2023-10-11 2023-10-12 2023-10-13 2023-10-16 2023-10-17 2023-10-18 2023-10-19
 2023-10-20 2023-10-23 2023-10-24 2023-10-25 2023-10-26 2023-10-27 2023-10-30 2023-10-31
 2023-11-01 2023-11-02 2023-11-03 2023-11-06 2023-11-07 2023-11-08 2023-11-09 2023-11-10]}
'''

规则数据

get_price_limit-查询证券在某天的涨跌幅限制

函数原型

get_price_limit(security,date)

参数

  • security:标的代码;str/list[str]
  • date:指定的基准日期,datetime.date/datetime.datetime/'yyyy-mm-dd'/'yyyy-mm-dd hh:mm:ss'/时间戳,截取到日期,默认回测当前时间

返回一个 dataframe

  • security:标的代码(索引)
  • up:涨幅限制.
  • down:跌幅限制.

示例

get_price_limit(security='sh501000','2024-01-02')

输出

---      up  down
sh501000  10    10

行情数据

get_price-获取指定日期范围内的历史行情

get_price(security,start_date=None,end_date=None,frequency='daily',fields=None,skip_paused=false,fq='pre',fq_ref_date=None,count=0,fill_suspend=true,df=false,include_now=true,call_auction=true)

获取指定日期范围内的历史行情,可查询多个标的多个字段.

参数

  • security:标的代码;str/list[str]
  • start_date:开始时间,datetime.date/datetime.datetime/'yyyy-mm-dd'/'yyyy-mm-dd hh:mm:ss'/时间戳,不能与 count 同时使用,如果只传入日期, 则日内时间是当日的 00:00:00
  • end_date:截止时间,datetime.date/datetime.datetime/'yyyy-mm-dd'/'yyyy-mm-dd hh:mm:ss'/时间戳,如果只传入日期, 则日内时间是当日的 00:00:00,默认回测时间
  • frequency:k 线频率,str,'xd','xm','daily'(等同于'1d'),'minute'(等同于'1m'),x 是一个正整数,分别表示 x 天和 x 分钟,默认'daily'
  • fields: 支持以下字段 ['open', 'close', 'low', 'high', 'volume', 'money', 'avg', 'time'],其中 'time' 是以毫秒为单位的 Unix 时间戳(例如: 1675062000000)
  • skip_paused:是否跳过不交易日期(包括停牌,未上市或者退市后的日期),bool,默认为 false,不跳过
  • fq:'pre'/None 或'none'/'post',前复权/不复权/后复权,默认为'pre'
  • fq_ref_date:复权基准日期.影响前复权数据:对这一天之前的每次除权进行连续的前复权处理,对这一天之后每次除权进行连续的后复权处理.默认 current.dt,回测当前日期
  • count:获取 k 线的数量,即表示获取 end_date 之前几个 frequency 的数据,int,与 start_date 二选一,不可同时使用
  • fill_suspend:对于停牌股票的价格处理,bool,默认为 true;true 表示用 pre_close 价格填充;false 表示使用 nan 填充停牌的数据
  • df:返回的数据格式,bool.true 表示返回 dataframe 格式
  • include_now:是否包含截止时间的 bar,bool,默认为 true,最后一根 bar 为用截止时间合成的一根 bar;为 false 时,最后一根 bar 为截止时间的上一根 bar
  • call_auction:每日第一根 k 线是否包含早盘集合竞价数据,默认为 true,包括;false,不包括

返回

  • time:bar 时间,timestamp
  • open:开盘价
  • close:收盘价
  • high:最高价
  • low:最低价
  • volume:成交量
  • money:成交额
  • avg:均价,仅日线有数据

注意 1.当查询多个时,推荐使用 dict,这样可以提高回测速度.2.当查询多只标的时,为保持数据的一致性,对于停牌的数据不支持跳过,默认填充.

示例

data=get_price('sz000001',end_date='2024-06-04 11:00:00',frequency='1m',fields=['high','low'],count=5)
print(data)
'''
                     high     low
2024-06-04 10:56:00  10.07    10.06
2024-06-04 10:57:00  10.07    10.06
2024-06-04 10:58:00  10.07    10.06
2024-06-04 10:59:00  10.07    10.06
2024-06-04 11:00:00  10.07    10.07
'''
# 单个正序查询
data=get_price('sz000001',start_date='2024-06-04',end_date='2024-06-05',frequency='1d')
print(data)
'''
            open    close    high    low    volume        money
2024-06-04  10.00   10.07    10.09   9.96   107406616.0   1.079357e+09
'''
# 多个倒序查询
data=get_price(['sz000001','sz000002'],end_date='2024-06-04',frequency='1m',fields=['high','low'],count=1)
print(data)
'''
     time                   security           high     low
0    2024-06-03 15:00:00    sz000001       10.02    10.01
1    2024-06-03 15:00:00    sz000002       10.03    10.03
'''
 # 多个正序查询
data=get_price(['sz000001','sz000002'],start_date='20230101',end_date='2023-09-30',frequency='1d',df=true)
print(data)
'''
  time       security        high  low
0 2024-06-04 sz000001    10.09 9.96
1 2024-06-04 sz000002    8.47  7.97
'''

get_current_data-获取当前单位时间的涨停价等

get_current_data()

获取当前单位时间(当天/当前分钟)的涨跌停价,是否停牌,当天的开盘价等.

返回一个 dict

  • key:股票代码,str
  • value:是一个拥有下列属性的对象

    {

      last_price:最新价;
    
      high_limit:涨停价;
    
      low_limit:跌停价;
    
      paused:是否停止或者暂停了交易,当停牌、未上市或者退市后返回true;
    
      is_st:是否是 st(包括st, * st),是则返回true,否则返回false;
    
      day_open:当天开盘价;
    
      name:股票现在的名称,可以用这个来判断股票当天是否是 st, * st,是否快要退市;
    

~~ iopv:基金份额参考净值,只适用于基金;~~

}

示例

data=get_current_data()
print(data['sh600000'].last_price)

财务数据

get_fundamentals-获取报告期财务数据

查询指定日期区间,股票所属上市公司的财务数据

get_fundamentals(security,fields,start_quarter=None,end_quarter=None,report_type=0, data_type=2)

获取基本财务数据

参数

  • security:标的代码,str/list[str]
  • fields:字段,list[str]
  • start_quarter:str,财报回溯查询的起始报告期,例如'2015q2'代表 2015 年半年报
  • end_quarter:str,财报回溯查询的结束报告期,例如'2015q2'代表 2015 年半年报
  • report_type:报表类型,int,默认 0 为不限类型,按报告期查询可指定以下报表类型:

    • 0-不限,最近一个报告期累计值
    • 3-第一季度
    • 6-中报
    • 9-前三季报
    • 12-年报
  • data_type:int,返回数据的数据类型:1-合并原始,2-合并调整,默认 2

返回

dataframe

  • security:代码,str
  • pub_date:发布日期,datetime.date
  • report_period:报告期,str

包含要查询的字段

"""
    security      pub_date      report_period     total_net_cf  div_ttm
0   sz000001  2014-04-24    2015q2      77155000.0    1.523319e+05
"""

fields 支持的字段见下表.部分字段来源于核心财务数据,部分字段来源于专业财务数据

资产负债表

**ZLT字段名称**
** 中文**
**分类细分**
核心/专业
量纲
bs_cash
货币资金
流动资产
核心

bs_trading_assets
交易性金融资产
流动资产
核心

bs_recv_notes
其中:应收票据-应收票据及应收账款
流动资产
核心

bs_recv_acct
其中:应收账款-应收票据及应收账款
流动资产
核心

bs_prepay
预付款项
流动资产
核心

bs_other_recv
其他应收款
流动资产
核心

bs_recv_affil
应收关联公司款
流动资产
专业

bs_recv_int
其中:应收利息-其他应收款
流动资产
专业

bs_recv_div
其中:应收股利-其他应收款
流动资产
专业

bs_inventory
存货
流动资产
核心

bs_consum_bio
其中:消耗性生物资产
流动资产
专业

bs_due_1y_assets
一年内到期的非流动资产
流动资产
核心

bs_other_cur_assets
其他流动资产
流动资产
核心

bs_total_cur_assets
流动资产合计
流动资产
核心

bs_afs_assets
可供出售金融资产
非流动资产
专业

bs_htm_invest
持有至到期投资
非流动资产
专业

bs_lt_recv
长期应收款
非流动资产
核心

bs_lt_equity
长期股权投资
非流动资产
核心

bs_invest_re
投资性房地产
非流动资产
专业

bs_fixed_assets
固定资产
非流动资产
核心

bs_cip
在建工程
非流动资产
核心

bs_eng_mat
工程物资
非流动资产
核心

bs_fixed_dispose
固定资产清理
非流动资产
专业

bs_prod_bio
生产性生物资产
非流动资产
专业

bs_oil_gas
油气资产
非流动资产
专业

bs_intang_assets
无形资产
非流动资产
核心

bs_dev_exp
开发支出
非流动资产
核心

bs_goodwill
商誉
非流动资产
核心

bs_lt_defer_exp
长期待摊费用
非流动资产
核心

bs_defer_tax_assets
递延所得税资产
非流动资产
核心

bs_other_noncur_assets
其他非流动资产
非流动资产
专业

bs_total_noncur_assets
非流动资产合计
非流动资产
核心

bs_total_assets
资产总计
非流动资产
核心

bs_st_borrow
短期借款
流动负债
核心

bs_trading_liabs
交易性金融负债
流动负债
核心

bs_pay_notes
其中:应付票据-应付票据及应付账款
流动负债
核心

bs_pay_acct
其中:应付账款-应付票据及应付账款
流动负债
核心

bs_adv_recv
预收款项
流动负债
核心

bs_pay_staff
应付职工薪酬
流动负债
核心

bs_pay_tax
应交税费
流动负债
核心

bs_pay_int
其中:应付利息-其他应付款
流动负债
专业

bs_pay_div
其中:应付股利-其他应付款
流动负债
专业

bs_other_pay
其他应付款
流动负债
核心

bs_pay_affil
应付关联公司款
流动负债
专业

bs_due_1y_liabs
一年内到期的非流动负债
流动负债
核心

bs_other_cur_liabs
其他流动负债
流动负债
核心

bs_total_cur_liabs
流动负债合计
流动负债
核心

bs_lt_borrow
长期借款
非流动负债
核心

bs_pay_bond
应付债券
非流动负债
核心

bs_lt_pay
长期应付款
非流动负债
专业

bs_spec_pay
专项应付款
非流动负债
专业

bs_provision
预计负债
非流动负债
专业

bs_defer_tax_liabs
递延所得税负债
非流动负债
核心

bs_other_noncur_liabs
其他非流动负债
非流动负债
专业

bs_total_noncur_liabs
非流动负债合计
非流动负债
核心

bs_total_liabs
负债合计
非流动负债
核心

bs_paid_cap
实收资本(或股本)
所有者权益
核心

bs_cap_reserve
资本公积
所有者权益
核心

bs_surplus_reserve
盈余公积
所有者权益
核心

bs_less_treasury
减:库存股
所有者权益
专业

bs_retain_earn
未分配利润
所有者权益
核心

bs_minority
少数股东权益
所有者权益
专业

bs_fx_trans_diff
外币报表折算价差
所有者权益
专业

bs_nonoper_adj
非正常经营项目收益调整
所有者权益
专业

bs_total_equity
所有者权益(或股东权益)合计
所有者权益
核心

bs_total_liabs_equity
负债和所有者(或股东权益)合计
所有者权益
专业

bs_spec_reserve
专项储备
所有者权益
专业

bs_parent_equity
归属于母公司所有者权益
所有者权益
核心

bs_gen_risk_reserve
一般风险准备
所有者权益
专业

bs_other_ci
其他综合收益
所有者权益
专业

bs_defer_income_noncur
递延收益-非流动负债
非流动负债
专业

bs_settle_reserve
结算备付金
流动资产
专业

bs_place_out
拆出资金
流动资产
专业

bs_loan_adv_cur
发放贷款及垫款-流动资产
流动资产
专业

bs_deriv_assets
衍生金融资产
流动资产
专业

bs_recv_premium
应收保费
流动资产
专业

bs_recv_reins
应收分保账款
流动资产
专业

bs_recv_reins_rsv
应收分保合同准备金
流动资产
专业

bs_buy_resell_assets
买入返售金融资产
流动资产
专业

bs_assets_hfs
划分为持有待售的资产
流动资产
专业

bs_loan_adv_noncur
发放贷款及垫款-非流动资产
非流动资产
专业

bs_borrow_cb
向中央银行借款
流动负债
专业

bs_deposit_interbank
吸收存款及同业存放
流动负债
专业

bs_place_in
拆入资金
流动负债
专业

bs_deriv_liabs
衍生金融负债
流动负债
专业

bs_sell_repo_assets
卖出回购金融资产款
流动负债
专业

bs_pay_fee_comm
应付手续费及佣金
流动负债
专业

bs_pay_reins
应付分保账款
流动负债
专业

bs_insurance_rsv
保险合同准备金
非流动负债
专业

bs_agent_trade_sec
代理买卖证券款
流动负债
专业

bs_agent_uw_sec
代理承销证券款
流动负债
专业

bs_liabs_hfs
划分为持有待售的负债
流动负债
专业

bs_provision_cur
预计负债-流动负债
流动负债
专业

bs_defer_income_cur
递延收益-流动负债
流动负债
核心

bs_pref_shares_noncur
其中:优先股-非流动负债
非流动负债
专业

bs_perp_bond_noncur
永续债-非流动负债
非流动负债
专业

bs_lt_pay_staff
长期应付职工薪酬
非流动负债
专业

bs_other_equity_instr
其他权益工具
所有者权益
专业

bs_pref_shares_equity
其中:优先股-所有者权益
所有者权益
专业

bs_perp_bond_equity
永续债-所有者权益
所有者权益
专业

bs_debt_invest_noncur
债权投资-非流动资产
非流动资产
专业

bs_other_debt_invest
其他债权投资-非流动资产
非流动资产
专业

bs_other_equity_invest
其他权益工具投资-非流动资产
非流动资产
专业

bs_other_noncur_fin_assets
其他非流动金融资产-非流动资产
所有者权益
专业

bs_trading_liabs_cur
*交易性金融负债-流动负债
流动负债
专业

bs_pay_notes_acct_cur
应付票据及应付账款-流动负债
流动负债
专业

bs_contract_liabs_cur
合同负债-流动负债
流动负债
核心

bs_recv_notes_acct_cur
应收票据及应收账款-流动资产
流动资产
专业

bs_contract_assets_cur
合同资产-流动资产
流动资产
核心

bs_recv_finance
应收款项融资
流动资产
专业

bs_right_use_assets
使用权资产
非流动资产
专业

bs_lease_liabs
租赁负债
流动负债
专业

bs_cur_assets_balance
流动资产平衡科目
流动资产
专业

bs_noncur_assets_balance
非流动资产平衡科目
非流动资产
专业

bs_cur_liabs_balance
流动负债平衡科目
流动负债
专业

bs_noncur_liabs_balance
非流动负债平衡科目
非流动负债
专业

bs_parent_equity_balance
归属于母公司股东权益平衡科目
所有者权益
专业

bs_total_equity_balance
所有者权益平衡科目
所有者权益
专业

现金流量表

**ZLT字段名称**
** 中文**
**分类细分**
核心/专业
**量纲**
cf_cash_sales
销售商品、提供劳务收到的现金
经营活动产生的现金流量
专业

cf_tax_refund
收到的税费返还
经营活动产生的现金流量
专业

cf_op_cash_in
收到其他与经营活动有关的现金
经营活动产生的现金流量
专业

cf_op_in_total
经营活动现金流入小计
经营活动产生的现金流量
专业

cf_cash_paid_goods
购买商品、接受劳务支付的现金
经营活动产生的现金流量
专业

cf_cash_to_emps
支付给职工以及为职工支付的现金
经营活动产生的现金流量
专业

cf_tax_paid
支付的各项税费
经营活动产生的现金流量
专业

cf_op_cash_out
支付其他与经营活动有关的现金
经营活动产生的现金流量
专业

cf_op_out_total
经营活动现金流出小计
经营活动产生的现金流量
专业

cf_op_net_cash
经营活动产生的现金流量净额
经营活动产生的现金流量
核心

cf_invest_recovery
收回投资收到的现金
投资活动产生的现金流量
专业

cf_invest_income
取得投资收益收到的现金
投资活动产生的现金流量
专业

cf_asset_disposal
处置固定资产、无形资产和其他长期资产收回的现金净额
投资活动产生的现金流量
专业


cf_sub_disposal
处置子公司及其他营业单位收到的现金净额
投资活动产生的现金流量
专业

cf_recv_other_invest
收到其他与投资活动有关的现金
投资活动产生的现金流量
专业

cf_invest_in_total
投资活动现金流入小计
投资活动产生的现金流量
专业

cf_asset_purchase
购建固定资产、无形资产和其他长期资产支付的现金
投资活动产生的现金流量
专业

cf_invest_payment
投资支付的现金
投资活动产生的现金流量
专业

cf_sub_acquisition
取得子公司及其他营业单位支付的现金净额
投资活动产生的现金流量
专业

cf_pay_other_invest
支付其他与投资活动有关的现金
投资活动产生的现金流量
专业

cf_invest_out_total
投资活动现金流出小计
投资活动产生的现金流量
专业

cf_invest_net_cash
投资活动产生的现金流量净额
投资活动产生的现金流量
核心

cf_invest_inflows
吸收投资收到的现金
筹资活动产生的现金流量
专业

cf_borrowing_in
取得借款收到的现金
筹资活动产生的现金流量
专业

cf_fin_inflows
收到其他与筹资活动有关的现金
筹资活动产生的现金流量
专业

cf_fin_in_total
筹资活动现金流入小计
筹资活动产生的现金流量
专业

cf_debt_payment
偿还债务支付的现金
筹资活动产生的现金流量
专业

cf_div_interest
分配股利、利润或偿付利息支付的现金
筹资活动产生的现金流量
专业

cf_pay_other_fin
支付其他与筹资活动有关的现金
筹资活动产生的现金流量
专业

cf_fin_out_total
筹资活动现金流出小计
筹资活动产生的现金流量
专业

cf_fin_net_cash
筹资活动产生的现金流量净额
筹资活动产生的现金流量
核心

cf_exchange_rate
四、汇率变动对现金的影响
筹资活动产生的现金流量
专业

cf_other_reasons
四(2)、其他原因对现金的影响
筹资活动产生的现金流量
专业

cf_net_cash_increase
五、现金及现金等价物净增加额
筹资活动产生的现金流量
专业

cf_cash_begin
期初现金及现金等价物余额
筹资活动产生的现金流量
专业

cf_cash_end
期末现金及现金等价物余额
筹资活动产生的现金流量
专业

cf_net_profit
净利润(现金流量表)
补充资料
专业

cf_asset_impairment
加:资产减值准备
补充资料
核心

cf_dep_fix_assets
固定资产折旧、油气资产折耗、生产性生物资产折旧
补充资料
核心

cf_amort_intangible
无形资产摊销
补充资料
核心

cf_amort_deferred
长期待摊费用摊销
补充资料
核心

cf_asset_disposal_loss
处置固定资产、无形资产和其他长期资产的损失
补充资料
专业

cf_asset_scrap_loss
固定资产报废损失
补充资料
专业

cf_fair_value_loss
公允价值变动损失
补充资料
专业

cf_fin_expenses
财务费用(现金流量表)
补充资料
专业

cf_invest_loss
投资损失
补充资料
专业

cf_def_tax_asset_decrease
递延所得税资产减少
补充资料
专业

cf_def_tax_liab_increase
递延所得税负债增加
补充资料
专业

cf_inventory_decrease
存货的减少
补充资料
专业

cf_op_recv_decrease
经营性应收项目的减少
补充资料
专业

cf_op_pay_increase
经营性应付项目的增加
补充资料
专业

cf_other_adjustments
其他
补充资料
专业

cf_op_net_cash_two
经营活动产生的现金流量净额2
补充资料
专业

cf_debt_to_equity
债务转为资本
补充资料
专业

cf_convertible_bonds
一年内到期的可转换公司债券
补充资料
专业

cf_lease_asset_in
融资租入固定资产
补充资料
专业

cf_cash_end_balance
现金的期末余额
补充资料
专业

cf_cash_begin_balance
减:现金的期初余额
补充资料
专业

cf_cash_equiv_end_balance
加:现金等价物的期末余额
补充资料
专业

cf_cash_equiv_begin_balance
减:现金等价物的期初余额
补充资料
专业

cf_other_reasons_two
加:其他原因对现金的影响2
补充资料
专业

cf_net_cash_increase_two
现金及现金等价物净增加额
补充资料
专业

cf_pledged_loan_increase
质押贷款净增加额
筹资活动产生的现金流量
专业

cf_bond_issue_cash
发行债券收到的现金
筹资活动产生的现金流量
专业

cf_cust_deposit_increase
客户存款和同业存放款项净增加额
经营活动产生的现金流量
专业

cf_cb_loan_increase
向中央银行借款净增加额
经营活动产生的现金流量
专业

cf_other_finance_increase
向其他金融机构拆入资金净增加额
经营活动产生的现金流量
专业

cf_insurance_premium_cash
收到原保险合同保费取得的现金
经营活动产生的现金流量
专业

cf_reinsurance_cash_in
收到再保险业务现金净额
经营活动产生的现金流量
专业

cf_policyholder_deposit_increase
保户储金及投资款净增加额
经营活动产生的现金流量
专业

cf_fair_value_disposal
处置以公允价值计量且其变动计入当期损益的金融资产净增加额
经营活动产生的现金流量
专业

cf_fee_interest_cash
收取利息、手续费及佣金的现金
经营活动产生的现金流量
专业

cf_borrowed_funds_increase
拆入资金净增加额
经营活动产生的现金流量
专业

cf_repo_funds_increase
回购业务资金净增加额
经营活动产生的现金流量
专业

cf_customer_loans_increase
客户贷款及垫款净增加额
经营活动产生的现金流量
专业

cf_central_bank_deposit_increase
存放中央银行和同业款项净增加额
经营活动产生的现金流量
专业

cf_insurance_claim_cash
支付原保险合同赔付款项的现金
经营活动产生的现金流量
专业

cf_fee_interest_cash_out
支付利息、手续费及佣金的现金
经营活动产生的现金流量
专业

cf_policy_dividends
支付保单红利的现金
经营活动产生的现金流量
专业

cf_sub_minority_invest
其中:子公司吸收少数股东投资收到的现金
筹资活动产生的现金流量
专业

cf_sub_minority_dividends
其中:子公司支付给少数股东的股利、利润
筹资活动产生的现金流量
专业

cf_invest_property_depreciation
投资性房地产的折旧及摊销
经营活动产生的现金流量
专业

cf_credit_impairment
信用减值损失
经营活动产生的现金流量
专业

cf_op_in_balance
经营活动现金流入平衡科目
补充资料
专业

cf_op_out_balance
经营活动现金流出平衡科目
补充资料
专业

cf_invest_in_balance
投资活动现金流入平衡科目
补充资料
专业

cf_invest_out_balance
投资活动现金流出平衡科目
补充资料
专业

cf_fin_in_balance
筹资活动现金流入平衡科目
补充资料
专业

cf_fin_out_balance
筹资活动现金流出平衡科目
补充资料
专业

cf_op_cash_adjust
将净利润调节为经营活动现金流量平衡科目
补充资料
专业

cf_non_cash_invest_finance
不涉及现金收支的重大投资和筹资活动平衡科目
补充资料
专业

cf_cash_equiv_balance
现金及现金等价物净变动情况平衡科目
补充资料
专业

cf_lease_asset_depreciation
使用权资产折旧-经营活动产生的现金流量净额2
补充资料
专业

利润表

**ZLT字段名称**
** 中文**
核心/专业
**量纲**
is_total_rev
一、营业总收入
核心

is_op_rev
其中:营业收入
核心

is_op_cost
其中:营业成本
核心

is_bus_tax
营业税金及附加
核心

is_sales_exp
销售费用
核心

is_admin_exp
管理费用
核心

is_exp_exp
勘探费用
专业

is_fin_exp
财务费用(利润表)
核心

is_asset_imp_loss
资产减值损失
核心

is_fair_value_gain
加:公允价值变动净收益
专业

is_invest_inc
投资收益
核心

is_equity_inv_inc
其中:对联营企业和合营企业的投资收益
专业

is_other_op_inc
影响营业利润的其他科目
专业

is_op_profit
三、营业利润
核心

is_sub_inc
加:补贴收入
专业

is_non_op_inc
营业外收入
核心

is_non_op_exp
减:营业外支出
核心

is_noncur_asset_loss
其中:非流动资产处置净损失
专业

is_other_profit_items
加:影响利润总额的其他科目
专业

is_total_profit
四、利润总额
核心

is_inc_tax
减:所得税
核心

is_other_net_profit_items
加:影响净利润的其他科目
专业

is_net_profit
五、净利润
核心

is_parent_net_profit
归属于母公司所有者的净利润
核心

is_minority_net_profit
少数股东损益
专业

is_basic_eps
(一)基本每股收益
核心

is_diluted_eps
(二)稀释每股收益
核心

is_forex_gain
汇兑收益
专业

is_other_comprehensive
七、其他综合收益
专业

is_total_comprehensive
八、综合收益总额
专业

is_parent_comprehensive
其中:归属于母公司
专业

is_minority_comprehensive
其中:归属于少数股东
专业

is_int_inc
利息收入
核心

is_earned_prem
已赚保费
专业

is_fee_comm_inc
手续费及佣金收入
专业

is_int_exp
利息支出
核心

is_fee_comm_exp
手续费及佣金支出
专业

is_policy_refund
退保金
专业

is_claims_exp
赔付支出净额
专业

is_ins_rsv_exp
提取保险合同准备金净额
专业

is_policy_dividend_exp
保单红利支出
专业

is_reins_exp
分保费用
专业

is_noncur_asset_gain
其中:非流动资产处置利得
专业

is_other_income
其他收益
专业

is_asset_disposal_inc
资产处置收益
专业

is_ongoing_profit
持续经营净利润
专业

is_discontinued_profit
终止经营净利润
专业

is_r_and_d_exp
研发费用
核心

is_credit_imp_loss
信用减值损失
专业

is_hedging_net_profit
净敞口套期收益
专业

is_total_op_cost
二、营业总成本
核心

is_int_exp_fin
其中:利息费用-财务费用
专业

is_int_inc_fin
其中:利息收入-财务费用
专业

is_credit_imp_loss_2019style
信用减值损失(2019格式)
专业

is_asset_imp_loss_2019style
资产减值损失(2019格式)
专业

is_total_rev_balance
营业总收入平衡科目
专业

is_total_cost_balance
营业总成本平衡科目
专业

is_other_income_balance
其他收益项平衡科目
专业

is_net_profit_balance
净利润平衡科目(按所有权归属)
专业

is_total_comp_balance
综合收益总额平衡科目
专业

is_op_profit_balance
营业利润平衡科目
专业

is_total_profit_balance
利润总额平衡科目
专业

get_fundamentals_pit-获取点时间财务数据

查询指定日期,股票所属上市公司的财务数据

get_fundamentals_pit(security,fields,date=None,report_type,data_type)

参数

  • security:标的代码,str/list[str]
  • fields:list[str],支持的字段同 get_fundamentals
  • date:查询日期,datetime.date/datetime.datetime/'yyyy-mm-dd'/'yyyy-mm-dd hh:mm:ss'/时间戳,截取到日期,默认回测当前时间
  • report_type:报表类型,int,默认 0 为不限类型,按报告期查询可指定以下报表类型:

    • 0-不限,最近一个报告期累计值
    • 1-第一季度报
    • 2-第二季度
    • 3-第三季度
    • 4-第四季度
    • 6-中报
    • 9-前三季报
    • 12-年报
  • data_type:int,返回数据的数据类型:1-合并原始,2-合并调整,默认 2

返回

dataframe

  • security:标的代码,str
  • pub_date:发布日期,datetime.date
  • report_date:报告日期,datetime.date
"""
    security      pub_date      report_date     total_net_cf  div_ttm
0   sz000001  2014-04-24    2014-04-24      77155000.0    1.523319e+05
"""

get_valuation_indicators-获取点时间估值衍生指标

查询指定日期,股票所属上市公司的估值衍生指标数据

get_valuation_indicators(security,fields=None,date=None)

参数

  • security:标的代码,str/list[str]
  • fields:list[str]
  • date:查询日期,datetime.date/datetime.datetime/'yyyy-mm-dd'/'yyyy-mm-dd hh:mm:ss'/时间戳,截取到日期,默认回测当前时间

返回

dataframe

  • security:代码,str
  • date:日期,datetime.date

示例

"""
    security      date         pcf_ttm_ncf   ps_ttm
0   sz000001  2014-04-24   77155000.0    1.523319e+05
1   sz000001  2014-04-25   77155000.0    1.523319e+05
2   sz000002  2014-04-24   77155000.0    1.523319e+05
3   sz000002  2014-04-25   77155000.0    1.523319e+05
"""

fields 支持的字段如下表

字段名
中文名称
说明
total_shares_cir
流通股本


total_shares

总股本


market_cap
总市值
未复权收盘价 * 总股本
market_cap_cir

流通市值
未复权收盘价 * 流通股本

turnover_ratio

换手率

换手率=成交量/流通股本

pe_ratio_lyr
市盈率lyr
总市值 / 归属母公司净利润lyr
pe_ratio_ttm
市盈率ttm
总市值 / 归属母公司净利润ttm
ep_ratio_lyr
盈市率lyr
归属母公司净利润lyr / 总市值
ep_ratio_ttm
盈市率ttm
归属母公司净利润ttm/ 总市值
pcf_ratio_total_lyr
市现率_总现金流lyr
总市值 /(经营活动产生的现金流量净额lyr + 投资活动产生的现金流量净额lyr + 筹资活动产生的现金流量净额lyr)
pcf_ratio_total_ttm
市现率_总现金流ttm
总市值 /(经营活动产生的现金流量净额ttm + 投资活动产生的现金流量净额ttm + 筹资活动产生的现金流量净额ttm)
pcf_ratio_lyr
市现率_经营lyr
总市值 / 经营活动产生的现金流量净额lyr
pcf_ratio_ttm
市现率_经营 ttm
总市值 / 经营活动产生的现金流量净额ttm
cfp_ratio_lyr
现金收益率lyr
现金收益率 =(经营活动产生的现金流量净额lyr + 投资活动产生的现金流量净额lyr + 筹资活动产生的现金流量净额lyr)/ 总市值
cfp_ratio_ttm
现金收益率ttm
现金收益率 = (经营活动产生的现金流量净额ttm + 投资活动产生的现金流量净额ttm + 筹资活动产生的现金流量净额ttm)/ 总市值
pb_ratio_lyr
市净率lyr
总市值 / 归属母公司股东权益合计lyr
pb_ratio_ttm
市净率ttm
总市值 / 归属母公司股东权益合计ttm
book_to_market_ratio_lyr
账面市值比lyr
归属母公司股东权益合计lyr / 总市值
book_to_market_ratio_ttm
账面市值比 ttm

归属母公司股东权益合计ttm / 总市值
ps_ratio_lyr
市销率lyr
总市值 / 营业总收入lyr
ps_ratio_ttm
市销率ttm
总市值 / 营业总收入ttm
sp_ratio_lyr
销售收益率lyr
营业总收入lyr / 总市值
sp_ratio_ttm
销售收益率ttm
营业总收入ttm / 总市值
ev_lyr
企业价值lyr
总市值 + 负债合计lyr
ev_ttm
企业价值ttm
总市值 + 负债合计ttm
ev_no_cash_lyr
企业价值(不含货币资金)lyr
总市值 + 负债合计lyr - 货币资金lyr
ev_no_cash_ttm
企业价值(不含货币资金)ttm
总市值 + 负债合计ttm - 货币资金ttm

get_efficiency_indicators-获取点时间经营衍生指标

查询指定日期,股票所属上市公司的经营衍生指标数据

get_efficiency_indicators(security,fields=None,date=None)

参数

  • security:标的代码,str/list[str]
  • fields:list[str]
  • date:查询日期,datetime.date/datetime.datetime/'yyyy-mm-dd'/'yyyy-mm-dd hh:mm:ss'/时间戳,截取到日期,默认回测当前时间

返回

dataframe

  • security:代码,str
  • date:日期,datetime.date

示例

"""
    security      date         pcf_ttm_ncf   ps_ttm
0   sz000001  2014-04-24   77155000.0    1.523319e+05
1   sz000001  2014-04-25   77155000.0    1.523319e+05
2   sz000002  2014-04-24   77155000.0    1.523319e+05
3   sz000002  2014-04-25   77155000.0    1.523319e+05
"""

fields 支持的字段如下表

字段名
中文名称
说明
diluted_earnings_per_share_lyr
摊薄每股收益lyr
归属母公司净利润lyr / 该报告期末普通股总股本
diluted_earnings_per_share_ttm
摊薄每股收益ttm
归属母公司净利润ttm / 该报告期末普通股总股本
weighted_common_stock_lyr
普通股加权股本lyr
归属于母公司所有者的净利润lyr / 基本每股收益lyr
diluted_common_stock_lyr
稀释普通股lyr
归属于母公司所有者的净利润lyr / 稀释每股收益lyr
operating_total_revenue_per_share_lyr
每股营业总收入lyr
营业总收入lyr / 总股本
operating_total_revenue_per_share_ttm
每股营业总收入ttm
营业总收入ttm / 总股本
operating_revenue_per_share_lyr
每股营业收入lyr
营业收入lyr / 总股本
operating_revenue_per_share_ttm
每股营业收入ttm
营业收入ttm / 总股本
ebit_lyr
息税前利润lyr
利润总额lyr + 利息支出lyr - 利息收入lyr
ebit_ttm
息税前利润ttm
利润总额ttm + 利息支出ttm - 利息收入ttm
ebitda_lyr
息税折旧摊销前利润lyr
息税前利润lyr + 固定资产折旧lyr + 无形资产摊销lyr + 长期待摊费用摊销lyr
ebitda_ttm
息税折旧摊销前利润 ttm
息税前利润ttm + 固定资产折旧ttm + 无形资产摊销ttm + 长期待摊费用摊销ttm
ebit_per_share_lyr
每股息税前利润lyr
息税前利润lyr / 总股本
ebit_per_share_ttm
每股息税前利润ttm
息税前利润ttm / 总股本
return_on_equity_lyr
净资产收益率lyr
归属母公司净利润lyr * 2 /(母公司股东权益合计lyr + 上期报表披露归属母公司股东权益合计lyr)
return_on_equity_ttm
净资产收益率ttm
归属母公司净利润ttm * 2 / (母公司股东权益合计ttm + 上期报表披露归属母公司的股东权益合计ttm)
return_on_equity_diluted_lyr
摊薄净资产收益率lyr
归属母公司净利润lyr / 归属母公司股东权益合计lyr
return_on_equity_diluted_ttm
摊薄净资产收益率ttm
归属母公司净利润ttm / 归属母公司股东权益合计ttm
return_on_asset_lyr
总资产报酬率lyr
息税前利润lyr / 总资产lyr
return_on_asset_ttm
总资产报酬率ttm
息税前利润ttm/总资产ttm
return_on_asset_net_profit_lyr
总资产净利率lyr
净利润lyr / 总资产lyr
return_on_asset_net_profit_ttm
总资产净利率ttm
净利润ttm / 总资产ttm
return_on_invested_capital_lyr
投入资本回报率lyr
(净利润lyr + 财务费用lyr)/(资产总计lyr - 流动负债lyr + 应付票据lyr + 短期借款lyr + 一年内到期的非流动负债lyr)
return_on_invested_capital_ttm
投入资本回报率ttm
(净利润ttm + 财务费用ttm)/(资产总计ttm - 流动负债ttm + 应付票据ttm + 短期借款ttm + 一年内到期的非流动负债ttm)
net_profit_margin_lyr
销售净利率lyr
净利润lyr / 营业收入lyr
net_profit_margin_ttm
销售净利率ttm
净利润ttm / 营业收入ttm
gross_profit_margin_lyr
销售毛利率lyr
(营业收入lyr - 营业成本lyr)/ 营业收入lyr
gross_profit_margin_ttm
销售毛利率ttm
(营业收入ttm - 营业成本ttm)/ 营业收入ttm
cost_to_sales_lyr
销售成本率lyr
营业成本lyr / 营业收入lyr
cost_to_sales_ttm
销售成本率ttm
营业成本ttm / 营业收入ttm
net_profit_to_revenue_lyr
经营净利率lyr
净利润lyr / 营业总收入lyr
net_profit_to_revenue_ttm
经营净利率ttm
净利润ttm / 营业总收入ttm
profit_from_operation_to_revenue_lyr
营业利润率lyr
营业利润lyr / 营业总收入lyr
profit_from_operation_to_revenue_ttm
营业利润率ttm
营业利润ttm / 营业总收入ttm
ebit_to_revenue_lyr
税前收益率lyr
息税前利润lyr / 营业总收入lyr
ebit_to_revenue_ttm
税前收益率ttm
息税前利润ttm / 营业总收入ttm
expense_to_revenue_lyr
经营成本率lyr
营业总成本lyr / 营业总收入lyr
expense_to_revenue_ttm
经营成本率ttm
营业总成本ttm / 营业总收入ttm
operating_profit_to_profit_before_tax_lyr
经营活动净收益与利润总额之比lyr
(营业总收入lyr-营业总成本lyr) / 利润总额lyr
operating_profit_to_profit_before_tax_ttm
经营活动净收益与利润总额之比ttm
(营业总收入ttm-营业总成本ttm) / 利润总额ttm
non_operating_profit_to_profit_before_tax_lyr
营业外收支净额与利润总额之比lyr
营业外收支净额lyr/利润总额lyr
non_operating_profit_to_profit_before_tax_ttm
营业外收支净额与利润总额之比ttm
营业外收支净额ttm/利润总额ttm
income_tax_to_profit_before_tax_lyr
所得税与利润总额之比lyr
所得税lyr / 利润总额lyr
income_tax_to_profit_before_tax_ttm
所得税与利润总额之比ttm
所得税ttm / 利润总额ttm
ebitda_to_debt_lyr
息税折旧摊销前利润/负债总计lyr
息税折旧摊销前利润lyr / 负债总计lyr
ebitda_to_debt_ttm
息税折旧摊销前利润/负债总计ttm
息税折旧摊销前利润ttm / 负债总计ttm
account_payable_turnover_rate_lyr
应付账款周转率lyr
营业成本lyr / 应付账款lyr
account_payable_turnover_rate_ttm
应付账款周转率ttm
营业成本ttm / 应付账款ttm
account_payable_turnover_days_lyr
应付账款周转天数lyr
360 / 应付账款周转率lyr
account_payable_turnover_days_ttm
应付账款周转天数ttm
360 / 应付账款周转率ttm
account_receivable_turnover_rate_lyr
应收账款周转率lyr
营业收入lyr / 应收账款lyr
account_receivable_turnover_rate_ttm
应收账款周转率ttm
营业收入ttm / 应收账款ttm
account_receivable_turnover_days_lyr
应收账款周转天数lyr
360 / 应收账款周转率lyr
account_receivable_turnover_days_ttm
应收账款周转天数ttm
360 / 应收账款周转率ttm
inventory_turnover_lyr
存货周转率lyr
营业成本lyr / 存货lyr
inventory_turnover_ttm
存货周转率ttm
营业成本ttm / 存货ttm
current_asset_turnover_lyr
流动资产周转率lyr
营业收入lyr /资产总计lyr
current_asset_turnover_ttm
流动资产周转率ttm
营业收入ttm / 资产总计ttm
fixed_asset_turnover_lyr
固定资产周转率lyr
营业收入lyr /固定资产总计lyr
fixed_asset_turnover_ttm
固定资产周转率ttm
营业收入ttm / 固定资产总计ttm
total_asset_turnover_lyr
总资产周转率lyr
营业收入lyr /总资产lyr
total_asset_turnover_ttm
总资产周转率ttm
营业收入ttm /总资产ttm
du_profit_margin_lyr
净利率(杜邦分析)lyr
净利润lyr / 利润总额lyr
du_profit_margin_ttm
净利率(杜邦分析)ttm
净利润ttm / 利润总额ttm
du_return_on_equity_lyr
净资产收益率ROE(杜邦分析)lyr
净利率(杜邦分析)lyr * 总资产周转率lyr * 权益乘数(杜邦分析)lyr
du_return_on_equity_ttm
净资产收益率ROE(杜邦分析)ttm
净利率(杜邦分析)ttm * 总资产周转率ttm * 权益乘数(杜邦分析)ttm
du_return_on_sales_lyr
息税前利润/营业总收入lyr
息税前利润lyr / 营业总收入lyr
du_return_on_sales_ttm
息税前利润/营业总收入ttm
息税前利润ttm / 营业总收入ttm
income_from_main_operations_lyr
主营业务利润lyr
营业收入lyr - 营业成本lyr - 营业税金及附加lyr
income_from_main_operations_ttm
主营业务利润ttm
营业收入ttm - 营业成本ttm - 营业税金及附加ttm
time_interest_earned_ratio_lyr
利息保障倍数lyr
息税前利润lyr / (利息支出(财务费用)lyr - 利息收入(财务费用)lyr)
time_interest_earned_ratio_ttm
利息保障倍数ttm
息税前利润ttm / (利息支出(财务费用)ttm - 利息收入(财务费用)ttm)
equity_turnover_ratio_lyr
股东权益周转率lyr
营业收入lyr / 归属母公司股东权益合计lyr
equity_turnover_ratio_ttm
股东权益周转率ttm
营业收入ttm / 归属母公司股东权益合计ttm
operating_cycle_lyr
营业周期lyr
应收账款周转天数lyr + 存货周转天数lyr
operating_cycle_ttm
营业周期ttm
应收账款周转天数ttm + 存货周转天数ttm
average_payment_period_lyr
应付账款付款期lyr
应付账款lyr / 营业成本lyr / 360
average_payment_period_ttm
应付账款付款期ttm
应付账款ttm / 营业成本ttm / 360
cash_conversion_cycle_lyr
现金转换周期lyr
营业周期lyr - 应付账款付款期lyr
cash_conversion_cycle_ttm
现金转换周期ttm
营业周期ttm - 应付账款付款期ttm

get_cash_flow_indicators-获取点时间现金流衍生指标

查询指定日期,股票所属上市公司的现金流衍生指标数据

get_cash_flow_indicators(security,fields=None,date=None)

参数

  • security:标的代码,str/list[str]
  • fields:list[str]
  • date:查询日期,datetime.date/datetime.datetime/'yyyy-mm-dd'/'yyyy-mm-dd hh:mm:ss'/时间戳,截取到日期,默认回测当前时间

返回

dataframe

  • security:代码,str
  • date:日期,datetime.date

示例

"""
    security      date         pcf_ttm_ncf   ps_ttm
0   sz000001  2014-04-24   77155000.0    1.523319e+05
1   sz000001  2014-04-25   77155000.0    1.523319e+05
2   sz000002  2014-04-24   77155000.0    1.523319e+05
3   sz000002  2014-04-25   77155000.0    1.523319e+05
"""

fields 支持的字段如下表

字段名
中文名称
说明
cash_flow_per_share_lyr
每股现金流lyr
(经营活动产生的现金流量净额lyr + 投资活动产生的现金流量净额lyr + 筹资活动产生的现金流量净额lyr)/ 总股本
cash_flow_per_share_ttm
每股现金流ttm
(经营活动产生的现金流量净额ttm + 投资活动产生的现金流量净额ttm + 筹资活动产生的现金流量净额ttm)/ 总股本
operating_cash_flow_per_share_lyr
每股经营现金流lyr
经营活动产生的现金流量净额lyr / 总股本
operating_cash_flow_per_share_ttm
每股经营现金流ttm
经营活动产生的现金流量净额ttm / 总股本
fcff_lyr
企业自由现金流量lyr
归属于母公司所有者的净利润lyr + 资产减值准备lyr + 固定资产折旧lyr + 无形资产摊销lyr + 长期待摊费用摊销lyr + 利息费用lyr *(1 - 所得税lyr / 利润总额lyr)-(本期固定资产合计lyr-上期固定资产合计lyr + 固定资产折旧lyr)-营运资本变动额lyr 其中:利息费用=利息支出(财务费用)-利息收入(财务费用),如果企业未披露利息收入(财务费用)和利息支出(财务费用),则“利息费用=财务费用”;营运资本变动额=期末[(流动资产合计-货币资金)-(流动负债合计-应付票据-一年内到期的非流动负债)]-期初[(流动资产合计-货币资金)-(流动负债合计-应付票据-一年内到期的非流动负债)
fcff_ttm
企业自由现金流量ttm
归属于母公司所有者的净利润ttm + 资产减值准备ttm + 固定资产折旧ttm + 无形资产摊销ttm + 长期待摊费用摊销ttm + 利息费用ttm *(1 - 所得税ttm / 利润总额ttm)-(本期固定资产合计ttm-上期固定资产合计ttm + 固定资产折旧ttm)-营运资本变动额ttm 其中:利息费用=利息支出(财务费用)-利息收入(财务费用),如果企业未披露利息收入(财务费用)和利息支出(财务费用),则“利息费用=财务费用”;营运资本变动额=期末[(流动资产合计-货币资金)-(流动负债合计-应付票据-一年内到期的非流动负债)]-期初[(流动资产合计-货币资金)-(流动负债合计-应付票据-一年内到期的非流动负债)
fcfe_lyr
股权自由现金流量lyr
归属于母公司所有者的净利润lyr + 资产减值准备lyr + 固定资产折旧lyr + 无形资产摊销lyr + 长期待摊费用摊销lyr -(本期固定资产合计lyr - 上期固定资产合计lyr + 固定资产折旧lyr)- 营运资本变动额lyr + 净债务增加lyr 其中:营运资本变动额=期末[(流动资产合计-货币资金)-(流动负债合计-应付票据-一年内到期的非流动负债)]-期初[(流动资产合计-货币资金)-(流动负债合计-应付票据-一年内到期的非流动负债)];净债务增加=期末(短期借款+长期借款+应付债券)-期初(短期借款+长期借款+应付债券)
fcfe_ttm
股权自由现金流量ttm
归属于母公司所有者的净利润ttm + 资产减值准备ttm + 固定资产折旧ttm + 无形资产摊销ttm + 长期待摊费用摊销ttm -(本期固定资产合计ttm - 上期固定资产合计ttm + 固定资产折旧ttm)- 营运资本变动额ttm + 净债务增加ttm 其中:营运资本变动额=期末[(流动资产合计-货币资金)-(流动负债合计-应付票据-一年内到期的非流动负债)]-期初[(流动资产合计-货币资金)-(流动负债合计-应付票据-一年内到期的非流动负债)];净债务增加=期末(短期借款+长期借款+应付债券)-期初(短期借款+长期借款+应付债券)
free_cash_flow_company_per_share_lyr
每股企业自由现金流lyr
企业自由现金流量lyr / 总股本
free_cash_flow_company_per_share_ttm
每股企业自由现金流ttm
企业自由现金流量ttm / 总股本
free_cash_flow_equity_per_share_lyr
每股股东自由现金流lyr
股东自由现金流量lyr / 总股本
free_cash_flow_equity_per_share_ttm
每股股东自由现金流ttm
股东自由现金流量ttm / 总股本
ocf_to_debt_lyr
经营活动产生的现金流量净额/负债合计lyr
经营活动产生的现金流量净额lyr / 负债合计lyr
ocf_to_debt_ttm
经营活动产生的现金流量净额/负债合计ttm
经营活动产生的现金流量净额ttm / 负债合计ttm
surplus_cash_protection_multiples_lyr
盈余现金保障倍数lyr
经营活动产生的现金流量净额lyr/净利润lyr*100%
surplus_cash_protection_multiples_ttm
盈余现金保障倍数ttm
经营活动产生的现金流量净额ttm/净利润ttm *100%
ocf_to_interest_bearing_debt_lyr
经营活动产生的现金流量净额/带息债务lyr
经营活动产生的现金流量净额lyr / 带息债务lyr
ocf_to_interest_bearing_debt_ttm
经营活动产生的现金流量净额/带息债务ttm
经营活动产生的现金流量净额ttm / 带息债务ttm
ocf_to_current_ratio_lyr
经营活动产生的现金流量净额/流动负债
经营活动产生的现金流量净额lyr/流动负债lyr
ocf_to_current_ratio_ttm
经营活动产生的现金流量净额/流动负债ttm
经营活动产生的现金流量净额ttm / 流动负债ttm
ocf_to_net_debt_lyr
经营活动产生的现金流量净额/净债务lyr
经营活动产生的现金流量净额lyr / 净债务lyr
ocf_to_net_debt_ttm
经营活动产生的现金流量净额/净债务ttm
经营活动产生的现金流量净额ttm / 净债务ttm
depreciation_and_amortization_lyr
当期计提折旧与摊销lyr
固定资产折旧lyr + 无形资产摊销lyr + 长期待摊费用摊销lyr
depreciation_and_amortization_ttm
当期计提折旧与摊销ttm
固定资产折旧ttm + 无形资产摊销ttm + 长期待摊费用摊销ttm
cash_flow_ratio_lyr
现金流量比率lyr
息税折旧摊销前利润lyr / 利息支出lyr
cash_flow_ratio_ttm
现金流量比率ttm
息税折旧摊销前利润ttm / 利息支出 ttm

get_asset_indicators-获取点时间财务衍生指标

查询指定日期,股票所属上市公司的财务衍生指标数据

get_asset_indicators(security,fields=None,date=None)

参数

  • security:标的代码,str/list[str]
  • fields:list[str]
  • date:查询日期,datetime.date/datetime.datetime/'yyyy-mm-dd'/'yyyy-mm-dd hh:mm:ss'/时间戳,截取到日期,默认回测当前时间

返回

dataframe

  • security:代码,str
  • date:日期,datetime.date

示例

"""
    security      date         pcf_ttm_ncf   ps_ttm
0   sz000001  2014-04-24   77155000.0    1.523319e+05
1   sz000001  2014-04-25   77155000.0    1.523319e+05
2   sz000002  2014-04-24   77155000.0    1.523319e+05
3   sz000002  2014-04-25   77155000.0    1.523319e+05
"""

fields 支持的字段如下表

字段名
中文名称
说明
non_interest_bearing_current_debt_lyr
无息流动负债lyr
应付帐款lyr + 预收帐款lyr + 应付职工薪酬lyr + 应交税费lyr + 其他应付款lyr + 预提费用lyr + 递延收益lyr + 其他流动负债lyr
non_interest_bearing_current_debt_ttm
无息流动负债ttm
应付帐款ttm + 预收帐款ttm + 应付职工薪酬ttm + 应交税费ttm + 其他应付款ttm + 预提费用ttm + 递延收益ttm + 其他流动负债ttm
non_interest_bearing_non_current_debt_lyr
无息非流动负债lyr
非流动负债合计lyr - 长期借款lyr - 应付债券lyr
non_interest_bearing_non_current_debt_ttm
无息非流动负债ttm
非流动负债合计ttm - 长期借款ttm - 应付债券ttm
interest_bearing_debt_lyr
带息债务lyr
负债合计lyr - 无息流动负债lyr - 无息非流动负债lyr
interest_bearing_debt_ttm
带息债务ttm
负债合计ttm - 无息流动负债ttm - 无息非流动负债ttm
capital_reserve_per_share_lyr
每股资本公积金lyr
资本公积金lyr / 总股本
capital_reserve_per_share_ttm
每股资本公积金ttm
资本公积金ttm / 总股本
earned_reserve_per_share_lyr
每股盈余公积金lyr
盈余公积金lyr / 总股本
earned_reserve_per_share_ttm
每股盈余公积金ttm
盈余公积金ttm / 总股本
undistributed_profit_per_share_lyr
每股未分配利润lyr
未分配利润总额lyr / 总股本
undistributed_profit_per_share_ttm
每股未分配利润ttm
未分配利润总额ttm / 总股本
retained_earnings_lyr
留存收益 lyr
盈余公积金lyr + 未分配利润lyr
retained_earnings_ttm
留存收益ttm
盈余公积金ttm + 未分配利润ttm
debt_to_asset_ratio_lyr
资产负债率lyr
负债合计lyr / 总资产
debt_to_asset_ratio_ttm
资产负债率ttm
负债合计ttm / 总资产
equity_multiplier_lyr
权益乘数lyr
总资产lyr / 股东权益合计lyr
equity_multiplier_ttm
权益乘数ttm
总资产ttm / 股东权益合计ttm
capital_to_equity_ratio_lyr
长期资本固定比率lyr
(资产总计lyr-流动资产lyr)/所有者权益平均余额lyr×100%
capital_to_equity_ratio_ttm
长期资本固定比率ttm
(资产总计ttm-流动资产ttm)/所有者权益平均余额ttm×100%
non_current_asset_to_total_asset_lyr
非流动资产比率lyr
非流动资产合计lyr / 总资产lyr
non_current_asset_to_total_asset_ttm
非流动资产比率ttm
非流动资产合计ttm / 总资产ttm
invested_capital_lyr
全部投入资本lyr
归属于母公司所有者权益合计lyr + 带息债务lyr
invested_capital_ttm
全部投入资本ttm
归属于母公司所有者权益合计ttm + 带息债务ttm
interest_bearing_debt_to_capital_lyr
带息债务占企业全部投入成本的比重lyr
带息债务lyr / 全部投入资本lyr
interest_bearing_debt_to_capital_ttm
带息债务占企业全部投入成本的比重ttm
带息债务ttm / 全部投入资本ttm
current_debt_to_total_debt_lyr
流动负债率lyr
流动负债合计lyr / 负债合计lyr
current_debt_to_total_debt_ttm
流动负债率ttm
流动负债合计ttm / 负债合计ttm
non_current_debt_to_total_debt_lyr
非流动负债率lyr
非流动负债合计lyr / 负债合计lyr
non_current_debt_to_total_debt_ttm
非流动负债率ttm
非流动负债合计ttm / 负债合计ttm
current_ratio_lyr
流动比率lyr
流动资产合计lyr / 流动负债合计lyr
current_ratio_ttm
流动比率ttm
流动资产合计ttm / 流动负债合计ttm
super_quick_ratio_lyr
超速动比率lyr
(货币资金lyr + 交易性金融资产lyr + 应收票据lyr + 应收账款lyr + 其他应收款lyr)/ 流动负债合计lyr
super_quick_ratio_ttm
超速动比率ttm
(货币资金ttm + 交易性金融资产ttm + 应收票据ttm + 应收账款ttm + 其他应收款ttm)/ 流动负债合计ttm
debt_to_equity_ratio_lyr
产权比率lyr
负债合计lyr / 股东权益合计lyr
debt_to_equity_ratio_ttm
产权比率ttm
负债合计ttm / 股东权益合计ttm
equity_to_debt_ratio_lyr
权益负债比率lyr
归属于母公司所有者权益合计lyr / 负债合计lyr
equity_to_debt_ratio_ttm
权益负债比率ttm
归属于母公司所有者权益合计ttm / 负债合计ttm
equity_to_interest_bearing_debt_lyr
权益带息负债比率 lyr
归属于母公司所有者权益合计lyr / 带息债务lyr
equity_to_interest_bearing_debt_ttm
权益带息负债比率 ttm
归属于母公司所有者权益合计ttm / 带息债务ttm
net_debt_lyr
净债务lyr
带息债务lyr - 货币资金lyr
net_debt_ttm
净债务ttm
带息债务ttm - 货币资金ttm
working_capital_lyr
营运资本lyr
流动资产合计lyr - 流动负债合计lyr
working_capital_ttm
营运资本ttm
流动资产合计ttm - 流动负债合计ttm
net_working_capital_lyr
净营运资本lyr
流动资产合计lyr - 货币资金lyr - 无息流动负债lyr
net_working_capital_ttm
净营运资本ttm
流动资产合计ttm - 货币资金ttm - 无息流动负债ttm
long_term_debt_to_working_capital_lyr
长期债务与营运资金比率lyr
非流动负债lyr/营运资本lyr
long_term_debt_to_working_capital_ttm
长期债务与营运资金比率ttm
非流动负债ttm/营运资本ttm
book_value_per_share_lyr
每股净资产lyr
归属母公司股东权益合计lyr / 总股本
book_value_per_share_ttm
每股净资产ttm
归属母公司股东权益合计ttm / 总股本
du_equity_multiplier_lyr
权益乘数(杜邦分析)lyr
(本期总资产lyr + 上年总资产lyr)/ (本期股东权益合计lyr + 上年股东权益合计lyr)
du_equity_multiplier_ttm
权益乘数(杜邦分析)ttm
(本期总资产ttm + 上期总资产ttm)/ (本期股东权益合计ttm + 上期股东权益合计ttm)
book_leverage_lyr
账面杠杆lyr
非流动复债合计lyr / 归母公司股东权益合计lyr
book_leverage_ttm
账面杠杆ttm
非流动复债合计ttm / 归母公司股东权益合计ttm
market_leverage_lyr
市场杠杆lyr
非流动负债合计lyr / (非流动负债合计lyr + 总市值)
market_leverage_ttm
市场杠杆ttm
非流动负债合计ttm / (非流动负债合计ttm + 总市值)
equity_ratio_lyr
股东权益比率lyr
归属母公司股东权益总计lyr / 资产总计lyr
equity_ratio_ttm
股东权益比率ttm
归属母公司股东权益总计ttm / 资产总计ttm
fixed_asset_ratio_lyr
固定资产比率lyr
(固定资产lyr + 工程物资lyr + 在建工程合计lyr) / 资产总计lyr
fixed_asset_ratio_ttm
固定资产比率ttm
(固定资产ttm + 工程物资ttm + 在建工程合计ttm) / 资产总计ttm
intangible_asset_ratio_lyr
无形资产比率lyr
(无形资产lyr + 开发支出lyr + 商誉lyr) / 资产总计lyr
intangible_asset_ratio_ttm
无形资产比率ttm
(无形资产ttm + 开发支出ttm + 商誉ttm) / 资产总计ttm
equity_fixed_asset_ratio_lyr
股东权益与固定资产比率lyr
归属母公司股东权益合计lyr / (固定资产合计lyr + 工程物资lyr + 在建工程合计lyr)
equity_fixed_asset_ratio_ttm
股东权益与固定资产比率ttm
归属母公司股东权益合计ttm / (固定资产合计ttm + 工程物资ttm + 在建工程合计ttm)
tangible_asset_per_share_lyr
每股有形资产lyr
(资产总计lyr - 无形资产lyr - 商誉lyr)/ 总股本
tangible_asset_per_share_ttm
每股有形资产ttm
(资产总计ttm - 无形资产ttm - 商誉ttm)/ 总股本
liabilities_per_share_lyr
每股负债lyr
负债合计lyr / 总股本
liabilities_per_share_ttm
每股负债ttm
负债合计ttm / 总股本
depreciation_per_share_lyr
每股折旧和摊销lyr
(固定资产折旧lyr + 无形资产摊销lyr + 长期待摊费用摊销lyr)/ 总股本
depreciation_per_share_ttm
每股折旧和摊销ttm
(固定资产折旧ttm + 无形资产摊销ttm + 长期待摊费用摊销ttm)/ 总股本
cash_ratio_lyr
现金比率lyr
货币资金lyr / 流动负债合计lyr
cash_ratio_ttm
现金比率ttm
货币资金ttm / 流动负债合计ttm
cash_equivalent_per_share_lyr
每股货币资金lyr
货币资金lyr / 总股本
cash_equivalent_per_share_ttm
每股货币资金ttm
货币资金ttm / 总股本

get_growth_indicators-获取点时间增长衍生指标

查询指定日期,股票所属上市公司的增长衍生指标数据

get_growth_indicators(security,fields=None,date=None)

参数

  • security:标的代码,str/list[str]
  • fields:list[str]
  • date:查询日期,datetime.date/datetime.datetime/'yyyy-mm-dd'/'yyyy-mm-dd hh:mm:ss'/时间戳,截取到日期,默认回测当前时间

返回

dataframe

  • security:代码,str
  • date:日期,datetime.date

示例

"""
    security      date         pcf_ttm_ncf   ps_ttm
0   sz000001  2014-04-24   77155000.0    1.523319e+05
1   sz000001  2014-04-25   77155000.0    1.523319e+05
2   sz000002  2014-04-24   77155000.0    1.523319e+05
3   sz000002  2014-04-25   77155000.0    1.523319e+05
"""

fields 支持的字段如下表

字段名
中文名称
说明
inc_revenue_lyr
营业总收入同比增长率lyr
营业总收入lyr / 上年营业总收入lyr - 1
inc_revenue_ttm
营业总收入同比增长率ttm
营业总收入ttm / 上年营业总收入ttm - 1
inc_return_on_equity_lyr
净资产收益率(摊薄)同比增长率lyr
摊薄净资产收益率lyr / 去年摊薄净资产收益率lyr - 1
inc_return_on_equity_ttm
净资产收益率(摊薄)同比增长率ttm
摊薄净资产收益率ttm / 去年摊薄净资产收益率ttm - 1
inc_book_per_share_lyr
每股净资产同比增长率lyr
每股净资产lyr / 去年每股净资产lyr - 1
inc_book_per_share_ttm
每股净资产同比增长率ttm
每股净资产ttm / 去年每股净资产ttm - 1
operating_profit_growth_ratio_lyr
营业利润同比增长率lyr
(营业利润lyr - 去年营业利润lyr) / 去年营业利润lyr
operating_profit_growth_ratio_ttm
营业利润同比增长率ttm
(营业利润ttm - 去年营业利润ttm) / 去年营业利润ttm
net_profit_growth_ratio_lyr
净利润同比增长率lyr
(净利润lyr - 去年净利润lyr) / 去年净利润lyr
net_profit_growth_ratio_ttm
净利润同比增长率ttm
(净利润ttm - 去年净利润ttm) / 去年净利润ttm
profit_growth_ratio_lyr
利润总额同比增长率lyr
(利润总额lyr - 去年利润总额lyr) / 去年利润总额lyr
profit_growth_ratio_ttm
利润总额同比增长率ttm
(利润总额ttm - 去年利润总额ttm) / 去年利润总额ttm
gross_profit_growth_ratio_lyr
毛利润同比增长率lyr
(营业收入lyr - 营业总成本lyr) / (去年营业收入lyr - 去年营业总成本lyr) - 1
gross_profit_growth_ratio_ttm
毛利润同比增长率ttm
(营业收入ttm - 营业成本ttm) / (去年营业收入ttm - 去年营业成本ttm) - 1
operating_revenue_growth_ratio_lyr
营业收入同比增长率lyr
(营业收入lyr - 去年营业收入lyr) / 去年营业收入lyr
operating_revenue_growth_ratio_ttm
营业收入同比增长率ttm
(营业收入ttm - 去年营业收入ttm) / 去年营业收入ttm
net_asset_growth_ratio_lyr
净资产同比增长率lyr
归属于母公司所有者权益合计lyr / 去年归属于母公司所有者权益合计lyr - 1
net_asset_growth_ratio_ttm
净资产同比增长率ttm
归属于母公司所有者权益合计ttm / 去年归属于母公司所有者权益合计ttm - 1
total_asset_growth_ratio_lyr
总资产同比增长率lyr
(总资产lyr - 去年总资产lyr) / 去年总资产lyr
total_asset_growth_ratio_ttm
总资产同比增长率ttm
(总资产ttm - 去年总资产ttm) / 去年总资产ttm
net_profit_parent_company_growth_ratio_lyr
归属母公司所有者的净利润同比增长率lyr
归属于母公司所有者的净利润lyr / 去年归属于母公司所有者的净利润lyr - 1
net_profit_parent_company_growth_ratio_ttm
归属母公司所有者的净利润同比增长率ttm
归属于母公司所有者的净利润ttm / 去年归属于母公司所有者的净利润ttm - 1
net_operate_cash_flow_growth_ratio_lyr
经营现金流量净额同比增长率lyr
经营活动产生的现金流量净额lyr / 去年经营活动产生的现金流量净额lyr - 1
net_operate_cash_flow_growth_ratio_ttm
经营现金流量净额同比增长率ttm
经营活动产生的现金流量净额ttm / 去年经营活动产生的现金流量净额ttm - 1
net_investing_cash_flow_growth_ratio_lyr
投资现金流量净额同比增长率lyr
投资活动产生的现金流量净额lyr / 去年投资活动产生的现金流量净额lyr - 1
net_investing_cash_flow_growth_ratio_ttm
投资现金流量净额同比增长率ttm
投资活动产生的现金流量净额ttm / 去年投资活动产生的现金流量净额ttm - 1
net_financing_cash_flow_growth_ratio_lyr
筹资现金流量净额同比增长率lyr
筹资活动产生的现金流量净额lyr / 去年筹资活动产生的现金流量净额lyr - 1
net_financing_cash_flow_growth_ratio_ttm
筹资现金流量净额同比增长率ttm
筹资活动产生的现金流量净额ttm / 去年筹资活动产生的现金流量净额ttm - 1

状态数据

get_ipo_date-获取标的上市日期

get_ipo_date(security)

获取标的上市时间.如果当前处于上市状态,则返回这次上市日期.否则返回 null.security 品种支持股票、基金、期权、债券.

参数

  • security:标的,str/list[str]

返回

get_ipo_date(['sh600000','sz000001'])

示例

---         ipo_date
sz000001    1991-04-03
sh600000    1999-11-10

get_latest_status_time-获取标的在指定日期 st、停牌、退市整理期、退市状态开始时间

get_latest_status_time(security,date=None,status_type=STATUS_TYPE.ST)

获取标的在指定日期 st/ st/停牌/退市整理期/退市状态开始时间.如果在指定日期处于 st/ st/停牌/退市整理期/退市状态,则返回这次状态开始时间.否则返回 null.status_type 传不同值时支持不同品种.默认判断 st.

参数

  • security:标的,str/list[str]
  • date:指定日期,datetime.date/datetime.datetime/'yyyy-mm-dd'/'yyyy-mm-dd hh:mm:ss'/时间戳,截取到日期,默认回测时间
  • status_type:状态类型,可选填枚举常量 STATUS_TYPE.ST、STATUS_TYPE.STX、STATUS_TYPE.SUSPEND、STATUS_TYPE.PREDELIST、STATUS_TYPE.DELISTED.默认 st

返回

get_latest_status_time(['sh600000','sz000001'])

示例

---         latest_status_time
sz000001    1991-04-03
sh600000    1999-11-10

is_listing-判断标的在指定日期是否上市

is_listing(security,date=None,change=false)

判断标的在指定日期是否上市.change 传不同值时可判断是否在指定日期新变化的状态.日期默认当天,security 品种支持股票、基金、期权、债券

参数

  • security:标的,str/list[str]
  • date:指定日期,datetime.date/datetime.datetime/'yyyy-mm-dd'/'yyyy-mm-dd hh:mm:ss'/时间戳,截取到日期,默认回测时间
  • change:是否在指定日期新变化的状态.true 表示判断是否在指定日期新变化的状态.false 表示判断当前是否是此状态,但不一定是新变化的状态.默认是 false

返回

is_listing(security=['sh688888','sh688599'],date='1999-11-10')

示例

---         is_listing
sh688888    1
sh688599    0

is_status-判断标的在指定日期是否处于 st、停牌、退市整理期、退市状态

is_status(security,date=None,change=false,status_type=STATUS_TYPE.ST)

判断标的在指定日期是否处于 st/* st/停牌/退市整理期状态.status_type 传不同值时支持不同品种,change 传不同值时可判断是否在指定日期新变化的状态.默认判断 st.

参数

  • security:标的,str/list[str]
  • date:指定日期,datetime.date/datetime.datetime/'yyyy-mm-dd'/'yyyy-mm-dd hh:mm:ss'/时间戳,截取到日期,默认回测时间
  • change:是否在指定日期新变化的状态.true 表示判断是否在指定日期新变化的状态.false 表示判断当前是否是此状态,但不一定是新变化的状态.默认是 false
  • status_type:状态类型,可选填枚举常量 STATUS_TYPE.ST、STATUS_TYPE.STX、STATUS_TYPE.SUSPEND、STATUS_TYPE.PREDELIST、STATUS_TYPE.DELISTED.默认 STATUS_TYPE.S1

返回

is_status(security=['sh600000','sh600011','sz000001'],date='1999-11-10')

示例

---         is_status
sh600000    0
sh600011    1
sz000001    0

get_listing_days-计算标的截止到指定日期的上市天数

get_listing_days(security,date=None,day_type=DAY_TYPE.NORMAL)

计算标的截止到指定日期的上市天数.如果指定日期处于上市状态,则返回这次上市天数.否则返回 0.天数类型默认为自然日,security 品种支持股票、基金、期权、债券

参数

  • security:标的,str/list[str]
  • date:指定日期,datetime.date/datetime.datetime/'yyyy-mm-dd'/'yyyy-mm-dd hh:mm:ss'/时间戳,截取到日期,默认回测时间
  • day_type:日期类型,可选填枚举常量 DAY_TYPE.TRADE、DAY_TYPE.NORMAL.默认填 normal 自然日

返回

get_listing_days(security=['sh600000','sz000001'],day_type=DAY_TYPE.TRADE)

示例

---         listing_days
sz000001    10022
sh600000    12033

get_latest_status_days-计算标的截止到指定日期最近一次 st、停牌、退市整理期状态持续天数

get_latest_status_days(security,date=None,day_type=DAY_TYPE.TRADE,status_type=STATUS_TYPE.ST)

计算标的截止到指定日期最近一次 st/ st/停牌/退市整理期状态持续天数.如果当前处于 s/ st/停牌/退市整理期状态,则返回这次状态持续天数.否则返回 0.status_type 传不同值时支持不同品种.默认截止到当前,天数类型默认为交易日,默认判断 st.

参数

  • security:标的,str/list[str]
  • date:指定日期,datetime.date/datetime.datetime/'yyyy-mm-dd'/'yyyy-mm-dd hh:mm:ss'/时间戳,截取到日期,默认回测时间
  • day_type:日期类型,可选填枚举常量 DAY_TYPE.TRADE、DAY_TYPE.NORMAL.默认填 trade 交易日
  • status_type:状态类型,可选填枚举常量 STATUS_TYPE.ST、STATUS_TYPE.STX、STATUS_TYPE.SUSPEND、STATUS_TYPE.PREDELIST .默认 st

返回

get_latest_status_days(security=['sh600000','sz000001'],day_type=DAY_TYPE.TRADE)

示例

---         latest_status_days
sz000001    10022
sh600000    12033

count_status_days-计算标的在设定的时间区间内处于 st、停牌、退市整理期的天数

count_status_days(security,start_date,end_date=None,day_type=DAY_TYPE.TRADE,status_type=STATUS_TYPE.ST)

计算标的在设定的时间区间内处于 st/* st/停牌的天数.status_type 传不同值时支持不同品种.天数类型默认为交易日,默认判断 st.

参数

  • security:标的,str/list[str]
  • start_date:区间开始日期,datetime.date/datetime.datetime/'yyyy-mm-dd'/'yyyy-mm-dd hh:mm:ss'/时间戳,截取到日期
  • end_date:区间结束日期,datetime.date/datetime.datetime/'yyyy-mm-dd'/'yyyy-mm-dd hh:mm:ss'/时间戳,截取到日期,默认回测时间
  • day_type:日期类型,可选填枚举常量 DAY_TYPE.TRADE、DAY_TYPE.NORMAL.默认填 trade 交易日
  • status_type:状态类型,可选填枚举常量 STATUS_TYPE.ST、STATUS_TYPE.STX、STATUS_TYPE.SUSPEND、STATUS_TYPE.PREDELIST .默认 st

返回

count_status_days(security=['sh600000','sh600011','sz000001'],start_date='1999-11-10',end_date='1999-11-20',day_type=DAY_TYPE.TRADE,status_type=STATUS_TYPE.ST)

示例

---         status_days
sh600000    4
sh600011    3
sz000001    0

count_status_change-计算股票在设定的时间区间内 st 的次数

count_status_change(security,start_date,end_date=None
)

计算股票在设定的时间区间内转变成 st/ * st 的次数.security 品种仅对股票有效.默认判断 st.如果传入的开始时间股票状态为 st,则记为 1 次。

参数

  • security:标的,str/list[str]
  • start_date:区间开始日期,datetime.date/datetime.datetime/'yyyy-mm-dd'/'yyyy-mm-dd hh:mm:ss'/时间戳,截取到日期
  • end_date:区间结束日期,datetime.date/datetime.datetime/'yyyy-mm-dd'/'yyyy-mm-dd hh:mm:ss'/时间戳,截取到日期,默认回测时间
  • status_type:状态类型,可选填枚举常量 STATUS_TYPE.ST、STATUS_TYPE.STX.默认 st

返回

count_status_change(security=['sh600000','sh600011','sz000001'],start_date='1999-11-10',end_date='1999-11-20')

示例

---         status_change
sh600000    4
sh600011    3
sz000001    0

基金数据

get_etf_stocks-查询 etf 成分股

查询某只 etf 在最新交易日的成分股持有情况和现金替代信息

get_etf_stocks(etf_code,date=None)

参数

  • etf_code:证券代码,str
  • date:指定日期,datetime.date/datetime.datetime/'yyyy-mm-dd'/'yyyy-mm-dd hh:mm:ss'/时间戳,截取到日期,默认回测时间

返回

一个 dataframe

  • security:证券代码,str
  • date:日期,datetime.date
  • amount:股票数量,int.T 日内容中最小申购赎回单位所对应的各成分股数量
  • cash_subs_type:现金替代标志

    • 基金管理人对于每一只成分股使用现金替代情况的态度 1-禁止 2-允许 3-必须 4-退补
  • cash_subs_sum:固定替代金额
  • cash_premium_rate:现金替代溢价比例

示例

'''
    security          date   amount cash_subs_type cash_subs_sum  cash_premium_rate
0   SH601688    2022-10-20  2100.0              1            0.0               10.0
1   SH600809    2022-10-20   200.0              1            0.0               10.0
2   SH600893    2022-10-20   500.0              1            0.0               10.0
'''

指数数据

get_all_index-查询指数列表

函数原型

get_all_index(date=None)

参数

  • date:指定的基准日期,datetime.date/datetime.datetime/'yyyy-mm-dd'/'yyyy-mm-dd hh:mm:ss'/时间戳,截取到日期,默认回测时间

返回一个 dataframe,索引是指数代码.

  • index_name:指数名称.
  • start_date:上市日期(暂不支持)
  • end_date:退市日期,如果没有退市则为 None(暂不支持)

示例

get_all_index()
'''
              index_name    start_date  end_date 
007001          军工
007003         煤化工
007004         新能源
007005        节能环保
007007         ab股
...      ...
007499        存储芯片
007500        液冷概念
'''

get_index_stocks-查询指数成分股

函数原型

get_index_stocks(index_code,date=None)

参数

  • index_code:指数代码,str,仅可查询下列指数:
代码
名称
sh000001
上证指数
sz399001
深证成指
sz399006
创业板指
sh000688
科创50
sz399106
深证综指
sz399102
创业板综
sz399850
深证50
sz399330
深证100
sz399750
深主板50
sz399673
创业板50
sh000016
上证50
sh000010
上证180
sh000009
上证380
sh000698
科创100
sh000300
沪深300
sh000903
中证100
sh000905
中证500
sh000906
中证800
sh000852
中证1000
sz399303
国证2000
  • date:指定日期,datetime.date/datetime.datetime/'yyyy-mm-dd'/'yyyy-mm-dd hh:mm:ss'/时间戳,截取到日期,默认回测时间

返回一个 list[str]

示例

get_index_stocks('sh000300')

行业数据

get_all_industry-查询行业列表

函数原型

get_all_industry(industry_class,date=None)

参数

  • industry_class:见枚举类型(只有申万和中信行业分类)
枚举代码
行业分类
sw_l1
申万一级行业
sw_l2
申万二级行业
sw_l3
申万三级行业
zx_l1
中信一级行业
zx_l2
中信二级行业
zx_l3
中信三级行业
  • date:指定的基准日期,datetime.date/datetime.datetime/'yyyy-mm-dd'/'yyyy-mm-dd hh:mm:ss'/时间戳,截取到日期,默认回测时间

返回一个 dataframe,索引是行业代码,str

  • industry_name:行业名称.
  • start_date:开始日期

示例

get_all_industry(industry_class='sw_l1')
'''
                 industry_name  start_date
100773396           种植业
100773496            渔业
100773596            林业
100773696            饲料
100773796         农产品加工
'''

get_industry-查询证券所属的行业

函数原型

get_industry(security,date=None)

参数

  • security:标的代码,str/list[str]
  • date:指定日期,datetime.date/datetime.datetime/'yyyy-mm-dd'/'yyyy-mm-dd hh:mm:ss'/时间戳,截取到日期,默认回测时间

返回一个 dict, key 是标的代码

示例

get_industry(security=['sz000001','sz000002'],date='2024-01-02')
'''
{'sz000001': {'sw_l1': {'industry_code': '101143296', 'industry_name': '银行'}, 'sw_l2': {'industry_code': '101143596', 'industry_name': '股份制银行'}, 'sw_l3': {'industry_code': '101143597', 'industry_name': '股份制银行'}, 'zx_l1': {'industry_code': '151394944', 'industry_name': '银行'}, 'zx_l2': {'industry_code': '151396944', 'industry_name': '全国性股份制银行Ⅱ'}, 'zx_l3': {'industry_code': '151396954', 'industry_name': '全国性股份制银行Ⅲ'}}, 'sz000002': {'sw_l1': {'industry_code': '101093296', 'industry_name': '房地产'}, 'sw_l2': {'industry_code': '101093396', 'industry_name': '房地产开发'}, 'sw_l3': {'industry_code': '101093397', 'industry_name': '住宅开发'}, 'zx_l1': {'industry_code': '151414944', 'industry_name': '房地产'}, 'zx_l2': {'industry_code': '151415944', 'industry_name': '房地产开发和运营'}, 'zx_l3': {'industry_code': '151415954', 'industry_name': '住宅物业开发'}}}
'''

get_industry_stocks-查询行业成分股

函数原型

get_industry_stocks(industry_code,date=None)

参数

  • industry_code:行业代码指数,str
  • date:指定日期,datetime.date/datetime.datetime/'yyyy-mm-dd'/'yyyy-mm-dd hh:mm:ss'/时间戳,截取到日期,默认回测时间

返回一个 list[str]

示例

get_industry_stocks(industry_code='100773396',date='2023-06-01')
'''
['sh600313', 'sh600354', 'sh600371', 'sz000713', 'sz000998', 'sz002041', 'sz300087', 'sz300189', 'sh600598', 'sh600762', 'sh601952', 'sz300972', 'sh600108', 'sh600359', 'sh600540', 'sh601118', 'sh603336', 'sh600883', 'sz002772', 'sz300511', 'sz300970', 'sz300972']
'''

results matching ""

    No results matching ""