量化交易 第三课 数据获取接口

获取数据

  • 概述
  • 数据接口种类
  • 行业 & 板块 股票类表
    • 股票代码 & 代码补齐
      • RiceQuant 上的股票
      • 股票自动搜索及补全
    • 获取行业
    • 获取板块
    • 代码展示
  • 获取股票合约数据
    • 某一合约历史数据
    • 通过 bar_dict 获取
    • 代码展示
  • 获取财务数据
    • 查询财务数据
    • 过滤指标条件
    • 代码展示
  • 定时获取数据
    • 每天运行
    • 每周运行
    • 每月运行
    • 运行顺序

概述

工欲善其事, 必先利其器. 想做量化, 数据是基本! 本篇我们会介绍如何获取数据.
在这里插入图片描述

数据接口种类

  • 获取指定行业, 板块股票列表
  • history_bars: 指定股票合约历史数据
  • get_fundamentals: 查询财务数据

行业 & 板块 股票类表

股票代码 & 代码补齐

RiceQuant 上的股票

上证:
在这里插入图片描述
深证:
在这里插入图片描述

股票自动搜索及补全

  • Windows 用户: 输入 ctrl + i
  • Mac 用户: 输入 command + i

当我们输入了这个组合键之后, RiceQuant 在线 IDE 就会进入代码搜索和自动完成模式.
在这里插入图片描述
接着我们可以输入任何一种进行搜索和自动补全.

  • 股票数字代码: 自动补全为股票数字代码, 比如 “000001.XSHE”
  • 股票中文全称: 自动补全为股票中文全称, 比如 “贵州茅台”
  • 股票拼音缩写: 自动补全为股票中文全称, 因为股票拼音缩写并不是独一无二的, 比如 ZSDC 补全为 “招商地产”

获取行业

获取某行业股票数据, 代码如下:

industry (code)

在这里插入图片描述
返回:

属于该行业的股票 order_book_id 或 order_book_id list.

范例:

[In]
industry('A01')
[Out]
['600540.XSHG', '600371.XSHG', '600359.XSHG', '600506.XSHG',...]
[In]
industry(industry_code.A01)
[Out]
['600540.XSHG', '600371.XSHG', '600359.XSHG', '600506.XSHG',...]

获取板块

获取某板块股票列表, 代码如下:

sector(code, market='cn')

在这里插入图片描述
返回:

属于该板块的股票 order_book_id 或 order_book_id list.

范例:

[In]sector('Energy')
[Out]
['300023.XSHE', '000571.XSHE', '600997.XSHG', '601798.XSHG', '603568.XSHG', .....]
[In]sector(sector_code.Energy)
[Out]
['300023.XSHE', '000571.XSHE', '600997.XSHG', '601798.XSHG', '603568.XSHG', .....]

支持的行业如下, 想要了解全球行业标准划分标准参考全球行业标准分类:
在这里插入图片描述

代码展示

def init(context):# 在context中保存全局变量context.s1 = "000001.XSHE"context.stock = "000007.XSHE"# 获取计算机通信行业的一些公司股票代码context.stock_list = industry("C39")# 获取能源板块的股票代码context.sector_list = sector("energy")# 获取沪深300的指数股票context.index_list = index_components("000300.XSHG")# 调试输出logger.info(context.stock_list)logger.info(context.sector_list)logger.info(context.index_list)输出结果:
2016-01-03
INFO
['300847.XSHE', '601138.XSHG', '688183.XSHG', '688138.XSHG', '000810.XSHE', '603380.XSHG', '600363.XSHG', '600980.XSHG', '300
211.XSHE', '600870.XSHG', '688181.XSHG', '600353.XSHG', '688081.XSHG', '000823.XSHE', '600745.XSHG', '002308.XSHE', '600839.X
SHG', '002528.XSHE', '603516.XSHG', '300666.XSHE', '688123.XSHG', '002222.XSHE', '002841.XSHE', '300078.XSHE', '688418.XSHG',
'002992.XSHE', '688020.XSHG', '603002.XSHG', '300205.XSHE', '300390.XSHE', '000066.XSHE', '300046.XSHE', '688208.XSHG', '688
027.XSHG', '300213.XSHE', '600405.XSHG', '600171.XSHG', '300455.XSHE', '300077.XSHE', '002983.XSHE', '002414.XSHE', '000687.X
SHE', '002806.XSHE', '300739.XSHE', '000050.XSHE', '300042.XSHE', '300458.XSHE', '002888.XSHE', '300686.XSHE', '002993.XSHE',
'300939.XSHE', '600764.XSHG', '002156.XSHE', '603160.XSHG', '600584.XSHG', '603803.XSHG', '002897.XSHE', '300327.XSHE', '300
811.XSHE', '300456.XSHE', '300548.XSHE', '605118.XSHG', '002660.XSHE', '002681.XSHE', '300831.XSHE', '002089.XSHE', '002161.X
SHE', '300088.XSHE', '002241.XSHE', '002115.XSHE', '688195.XSHG', '300752.XSHE', '002792.XSHE', '688079.XSHG', '688667.XSHG',
'603023.XSHG', '300835.XSHE', '002655.XSHE', '002579.XSHE', '002180.XSHE', '603019.XSHG', '300220.XSHE', '002119.XSHE', '603
996.XSHG', '002281.XSHE', '688005.XSHG', '300590.XSHE', '002519.XSHE', '688288.XSHG', '300115.XSHE', '601869.XSHG', '300479.X
SHE', '300083.XSHE', '300079.XSHE', '688665.XSHG', '688608.XSHG', '300303.XSHE', '002402.XSHE', '002456.XSHE', '002866.XSHE',
'300566.XSHE', '002138.XSHE', '300120.XSHE', '300351.XSHE', '000413.XSHE', '300155.XSHE', '300940.XSHE', '603986.XSHG', '002
214.XSHE', '002796.XSHE', '600485.XSHG', '300270.XSHE', '688609.XSHG', '002475.XSHE', '300602.XSHE', '300516.XSHE', '300353.X
SHE', '605058.XSHG', '300514.XSHE', '002925.XSHE', '603773.XSHG', '002426.XSHE', '002829.XSHE', '688696.XSHG', '600183.XSHG',
'000801.XSHE', '002296.XSHE', '002376.XSHE', '300709.XSHE', '002782.XSHE', '600330.XSHG', '300162.XSHE', '002351.XSHE', '688
311.XSHG', '002383.XSHE', '000063.XSHE', '600151.XSHG', '000977.XSHE', '002017.XSHE', '000021.XSHE', '002937.XSHE', '002415.X
SHE', '000725.XSHE', '688080.XSHG', '000100.XSHE', '688019.XSHG', '002231.XSHE', '688002.XSHG', '002055.XSHE', '300308.XSHE',
'300691.XSHE', '002835.XSHE', '600288.XSHG', '002388.XSHE', '002815.XSHE', '603595.XSHG', '300102.XSHE', '600562.XSHG', '300
698.XSHE', '300397.XSHE', '300656.XSHE', '300502.XSHE', '300627.XSHE', '300301.XSHE', '002960.XSHE', '003015.XSHE', '000586.X
SHE', '300555.XSHE', '002413.XSHE', '688025.XSHG', '002179.XSHE', '300916.XSHE', '603115.XSHG', '688008.XSHG', '300546.XSHE',
'002972.XSHE', '002137.XSHE', '002025.XSHE', '600898.XSHG', '300782.XSHE', '002861.XSHE', '002387.XSHE', '002952.XSHE', '300
903.XSHE', '688396.XSHG', '600775.XSHG', '300065.XSHE', '300657.XSHE', '603328.XSHG', '603528.XSHG', '002192.XSHE', '002079.X
SHE', '002045.XSHE', '300708.XSHE', '605218.XSHG', '300956.XSHE', '688260.XSHG', '600776.XSHG', '300531.XSHE', '600345.XSHG',
'002587.XSHE', '300114.XSHE', '600100.XSHG', '300884.XSHE', '300139.XSHE', '603005.XSHG', '600260.XSHG', '603678.XSHG', '300
629.XSHE', '300227.XSHE', '002583.XSHE', '300919.XSHE', '600118.XSHG', '603106.XSHG', '300282.XSHE', '002217.XSHE', '300256.X
SHE', '002729.XSHE', '300647.XSHE', '603236.XSHG', ...
2016-01-03
INFO
['600028.XSHG', '000554.XSHE', '000159.XSHE', '600397.XSHG', '002221.XSHE', '600583.XSHG', '601918.XSHG', '603113.XSHG', '600
725.XSHG', '002259.XSHE', '601225.XSHG', '000968.XSHE', '002629.XSHE', '601011.XSHG', '603353.XSHG', '600508.XSHG', '600777.X
SHG', '000571.XSHE', '600123.XSHG', '603619.XSHG', '600871.XSHG', '601088.XSHG', '600740.XSHG', '002128.XSHE', '300839.XSHE',
'002554.XSHE', '000937.XSHE', '600968.XSHG', '600688.XSHG', '000723.XSHE', '002278.XSHE', '300309.XSHE', '000983.XSHE', '000
096.XSHE', '002490.XSHE', '601699.XSHG', '601898.XSHG', '002828.XSHE', '600387.XSHG', '000852.XSHE', '300084.XSHE', '600403.X
SHG', '300164.XSHE', '000059.XSHE', '600758.XSHG', '600121.XSHG', '600256.XSHG', '601808.XSHG', '600188.XSHG', '601001.XSHG',
'002353.XSHE', '688377.XSHG', '603727.XSHG', '600971.XSHG', '002207.XSHE', '000698.XSHE', '601101.XSHG', '000552.XSHE', '000
780.XSHE', '601857.XSHG', '601015.XSHG', '300471.XSHE', '600989.XSHG', '601666.XSHG', '603800.XSHG', '600759.XSHG', '300157.X
SHE', '300540.XSHE', '603798.XSHG', '600792.XSHG', '601798.XSHG', '000637.XSHE', '600997.XSHG', '603036.XSHG', '300191.XSHE',
'600348.XSHG', '600395.XSHG']
2016-01-03
INFO
['600030.XSHG', '002153.XSHE', '002065.XSHE', '002594.XSHE', '600332.XSHG', '601016.XSHG', '600739.XSHG', '600010.XSHG', '600
588.XSHG', '601216.XSHG', '601600.XSHG', '601818.XSHG', '601333.XSHG', '000983.XSHE', '600867.XSHG', '600028.XSHG', '600549.X
SHG', '601099.XSHG', '000793.XSHE', '002739.XSHE', '600048.XSHG', '002252.XSHE', '600718.XSHG', '601958.XSHG', '002456.XSHE',
'600958.XSHG', '600827.XSHG', '600196.XSHG', '600837.XSHG', '000027.XSHE', '600021.XSHG', '600104.XSHG', '600166.XSHG', '000
568.XSHE', '600309.XSHG', '601377.XSHG', '000002.XSHE', '000826.XSHE', '000402.XSHE', '000415.XSHE', '000333.XSHE', '000917.X
SHE', '002736.XSHE', '000413.XSHE', '002202.XSHE', '002399.XSHE', '300146.XSHE', '600023.XSHG', '600489.XSHG', '601991.XSHG',
'601166.XSHG', '000712.XSHE', '300002.XSHE', '601788.XSHG', '600038.XSHG', '600783.XSHG', '601919.XSHG', '002410.XSHE', '000
825.XSHE', '600031.XSHG', '000400.XSHE', '000001.XSHE', '601668.XSHG', '601688.XSHG', '601866.XSHG', '600276.XSHG', '600518.X
SHG', '601989.XSHG', '300104.XSHE', '002081.XSHE', '601555.XSHG', '600703.XSHG', '002500.XSHE', '600066.XSHG', '000063.XSHE',
'002450.XSHE', '600068.XSHG', '601006.XSHG', '600406.XSHG', '000629.XSHE', '600369.XSHG', '601988.XSHG', '300017.XSHE', '600
085.XSHG', '601288.XSHG', '601106.XSHG', '601179.XSHG', '000883.XSHE', '600893.XSHG', '601238.XSHG', '601158.XSHG', '600011.X
SHG', '600674.XSHG', '600016.XSHG', '600570.XSHG', '600317.XSHG', '300070.XSHE', '300144.XSHE', '000768.XSHE', '300015.XSHE',
'000060.XSHE', '601872.XSHG', '000686.XSHE', '603993.XSHG', '600485.XSHG', '600999.XSHG', '600153.XSHG', '601618.XSHG', '600
663.XSHG', '600372.XSHG', '601117.XSHG', '000876.XSHE', '002007.XSHE', '002422.XSHE', '300027.XSHE', '600373.XSHG', '000581.X
SHE', '000338.XSHE', '600583.XSHG', '601328.XSHG', '600717.XSHG', '603288.XSHG', '600642.XSHG', '000503.XSHE', '601186.XSHG',
'600115.XSHG', '000725.XSHE', '000538.XSHE', '600050.XSHG', '600900.XSHG', '600177.XSHG', '600150.XSHG', '600383.XSHG', '000
999.XSHE', '601898.XSHG', '600863.XSHG', '300124.XSHE', '600633.XSHG', '002465.XSHE', '300003.XSHE', '600350.XSHG', '601800.X
SHG', '002142.XSHE', '000009.XSHE', '601111.XSHG', '600170.XSHG', '601899.XSHG', '600895.XSHG', '600795.XSHG', '600221.XSHG',
'600839.XSHG', '000630.XSHE', '000792.XSHE', '000831.XSHE', '000963.XSHE', '600208.XSHG', '601992.XSHG', '600705.XSHG', '601
018.XSHG', '601398.XSHG', '002292.XSHE', '000046.XSHE', '603885.XSHG', '600600.XSHG', '000166.XSHE', '601009.XSHG', '001979.X
SHE', '600188.XSHG', '600690.XSHG', '000157.XSHE', '000776.XSHE', '601766.XSHG', '002304.XSHE', '000898.XSHE', '300058.XSHE',
'600018.XSHG', '600015.XSHG', '601118.XSHG', '601225.XSHG', '600029.XSHG', '600352.XSHG', '000039.XSHE', '601231.XSHG', '002
008.XSHE', '300315.XSHE', '600009.XSHG', '000100.XSHE', '000750.XSHE', '600019.XSHG', '600100.XSHG', '600252.XSHG', '600887.X
SHG', '601098.XSHG', '300133.XSHE', '000858.XSHE', '601928.XSHG', '000539.XSHE', '002470.XSHE', '600111.XSHG', '601969.XSHG', ...

获取股票合约数据

某一合约历史数据

history_bars(order_book_id, bar_count, frequency, fields=None, skip_suspended=True, include_now=False)

获取指定合约的历史行情, 同时支持日以及分钟历史数据. 不能再 init 中调用.

参数:
在这里插入图片描述

通过 bar_dict 获取

bar_dict 对象也可以获取行情数据: 只能获取当前运行日期的, 不能获取之前日期.

Bar 对象
在这里插入图片描述
范例:

logger.info(bar_dict[context.s1].close)

代码展示

def handle_bar(context, bar_dict):# 开始编写你的主要的算法逻辑# bar_dict[order_book_id] 可以拿到某个证券的bar信息# context.portfolio 可以拿到现在的投资组合信息# 使用order_shares(id_or_ins, amount)方法进行落单# TODO: 开始编写你的算法吧!# 获取从当前提取运行开始之前5天的行情数据history_1 = history_bars(context.s1, 5, "1d", ["close", "open"])# 调试输出logger.info(history_1)输出结果:2016-01-04
INFO
[(11.98, 12.43) (12.09, 11.99) (12.1 , 12.09) (11.99, 12.1 )
(11.33, 12. )]
2016-01-05
INFO
[(12.09, 11.99) (12.1 , 12.09) (11.99, 12.1 ) (11.33, 12. )
(11.4 , 11.27)]
2016-01-06
INFO
[(12.1 , 12.09) (11.99, 12.1 ) (11.33, 12. ) (11.4 , 11.27)
(11.53, 11.42)]
2016-01-07
INFO
[(11.99, 12.1 ) (11.33, 12. ) (11.4 , 11.27) (11.53, 11.42)
(10.94, 11.41)]
2016-01-08
INFO
[(11.33, 12. ) (11.4 , 11.27) (11.53, 11.42) (10.94, 11.41)
(11.12, 11.21)]
2016-01-11
INFO
[(11.4 , 11.27) (11.53, 11.42) (10.94, 11.41) (11.12, 11.21)
(10.76, 11. )]
2016-01-12
INFO
[(11.53, 11.42) (10.94, 11.41) (11.12, 11.21) (10.76, 11. )
(10.81, 10.83)]
2016-01-13
INFO
[(10.94, 11.41) (11.12, 11.21) (10.76, 11. ) (10.81, 10.83)
(10.71, 10.89)]
2016-01-14
INFO
[(11.12, 11.21) (10.76, 11. ) (10.81, 10.83) (10.71, 10.89)
(10.77, 10.59)]
2016-01-15
INFO
[(10.76, 11. ) (10.81, 10.83) (10.71, 10.89) (10.77, 10.59)
(10.46, 10.66)]
2016-01-18
INFO
[(10.81, 10.83) (10.71, 10.89) (10.77, 10.59) (10.46, 10.66)
(10.41, 10.34)]
2016-01-19
INFO
[(10.71, 10.89) (10.77, 10.59) (10.46, 10.66) (10.41, 10.34)
(10.71, 10.45)]
2016-01-20
INFO
[(10.77, 10.59) (10.46, 10.66) (10.41, 10.34) (10.71, 10.45)
(10.54, 10.7 )]
2016-01-21
INFO
[(10.46, 10.66) (10.41, 10.34) (10.71, 10.45) (10.54, 10.7 )
(10.32, 10.48)]
2016-01-22
INFO
[(10.41, 10.34) (10.71, 10.45) (10.54, 10.7 ) (10.32, 10.48)
(10.4 , 10.4 )]
2016-01-25
INFO
[(10.71, 10.45) (10.54, 10.7 ) (10.32, 10.48) (10.4 , 10.4 )
(10.37, 10.4 )]
2016-01-26
INFO
[(10.54, 10.7 ) (10.32, 10.48) (10.4 , 10.4 ) (10.37, 10.4 )
( 9.87, 10.32)]
2016-01-27
INFO
[(10.32, 10.48) (10.4 , 10.4 ) (10.37, 10.4 ) ( 9.87, 10.32)
( 9.88, 9.93)]
2016-01-28
INFO
[(10.4 , 10.4 ) (10.37, 10.4 ) ( 9.87, 10.32) ( 9.88, 9.93)
( 9.69, 9.82)]
2016-01-29
INFO
[(10.37, 10.4 ) ( 9.87, 10.32) ( 9.88, 9.93) ( 9.69, 9.82)
(10. , 9.74)]
2016-02-01
...

获取财务数据

查询财务数据

get_fundamentals - 查询财务数据

get_fundamentals(query, entry_date, interval=None, report_quarter=False, expect_df=False)

获取历史财务数据表格. 目前支持中国市场超过 400 个指标, 具体请参考财务数据文档 . 目前仅支持中国市场. 需要注意, 在 RiceQuant 上查询基本面数据时, 我们是以所有年报的发布日期 (announcement date) 为准, 因为只有财报发布后才成为市场上公开可以获取的数据.

参数:

参数类型说明
querySQLAlchemyQueryObjectSQLAlchemy 的 Query 对象。其中可在’query’内填写需要查询的指标,'filter’内填写数据过滤条件。具体可参考 sqlalchemy’s query documentation 学习使用更多的方便的查询语句。从数据科学家的观点来看,sqlalchemy 的使用比 sql 更加简单和强大
entry_datestr, datetime.date, datetime.datetime, pandasTimestamp查询财务数据的基准开始日期
intervalstr查询财务数据的间隔。例如,填写’5y’,则代表从 entry_date 开始(包括 entry_date)回溯 5 年,返回数据时间以年为间隔。‘d’ - 天,‘w’ - 周,‘m’ - 月, ‘q’ - 季,‘y’ - 年
report_quarterbool是否显示报告期,默认为不显示。‘Q1’ - 一季报,‘Q2’ - 半年报,‘Q3’ - 三季报,‘Q4’ - 年报
expect_dfboolean默认返回原有的 Panel 数据结构。如果调为真,则返回 pandas dataframe

返回
pandas DataPanel - 财务数据查询结果.

范例

[In]
dp = get_fundamentals(query(fundamentals.eod_derivative_indicator.pe_ratio).filter(fundamentals.stockcode == '000001.XSHE'), '2016-08-01','4q' ,report_quarter = True)
[In]
dp.minor_xs('000001.XSHE')
[Out]report_quarter	pe_ratio
2016-08-01	2016-Q1 	7.0768
2016-04-29	2016-Q1		6.7755
2016-01-29	2015-Q3		6.5492
2015-10-29	2015-Q3		7.3809

过滤指标条件

  • query().filter: 过滤大小
  • query().order_by: 排序
  • query.limit(): 限制数量
  • fundamentals.stockcode.in_(): 在指定股票池当中过滤

案例:

q = query(fundamentals.eod_derivative_indicator.pe_ratio,  # 获取市盈率fundamentals.eod_derivative_indicator.pcf_ratio  # 获取市现率 ).filter(fundamentals.eod_derivative_indicator.pe_ratio > 20,  # 过滤市盈率大于20fundamentals.eod_derivative_indicator.pcf_ratio < 50  # 过滤市现率小于50).order_by(fundamentals.eod_derivative_indicator.pe_ratio # 用盈率排序, 从小到大).limit(10)  # 取10个

代码展示

def handle_bar(context, bar_dict):# 开始编写你的主要的算法逻辑# bar_dict[order_book_id] 可以拿到某个证券的bar信息# context.portfolio 可以拿到现在的投资组合信息# 使用order_shares(id_or_ins, amount)方法进行落单# TODO: 开始编写你的算法吧!# 创建一个查询语句 (pb_ratio: 市净率)q = query(fundamentals.eod_derivative_indicator.pb_ratio)# 回测不需要日期, 默认当天的数据fund = get_fundamentals(q)# 转置fund = fund.T# 调试输出logger.info(fund)输出结果:2016-01-04
INFO
pb_ratio
000010.XSHE 3.8286
000014.XSHE 6.4342
000006.XSHE 3.537
000008.XSHE 9.7601
000012.XSHE 3.6253
000011.XSHE 4.121
000007.XSHE 14.8823
000009.XSHE 6.3938
000001.XSHE 1.0623
000002.XSHE 2.695
000004.XSHE 47.2814
000005.XSHE 9.2519
000016.XSHE 5.9121
000017.XSHE 651.399
000018.XSHE 17.1477
000019.XSHE 5.4866
000021.XSHE 3.4096
000022.XSHE 2.8029
000023.XSHE 11.0294
000020.XSHE 27.2062
000025.XSHE 28.7225
000026.XSHE 2.7981
000027.XSHE 1.7913
000028.XSHE 4.3987
000029.XSHE 5.6056
000030.XSHE 2.816
000031.XSHE 4.2624
000032.XSHE 6.5288
000033.XSHE 355.578
000034.XSHE 53.5046
... ...
300426.XSHE 15.1151
002736.XSHE 3.6212
300488.XSHE 9.2783
300434.XSHE 11.4555
603398.XSHG 16.4336
603808.XSHG 5.3673
300439.XSHE 10.5654
603223.XSHG 7.9353
300450.XSHE 18.5618
300446.XSHE 16.6062
300493.XSHE 10.9242
300427.XSHE 11.9498
300487.XSHE 8.0302
300459.XSHE 7.8616
603968.XSHG 5.5646
300457.XSHE 15.0464
300451.XSHE 20.5081
300394.XSHE 12.6802
603669.XSHG 8.1029
300481.XSHE 10.3629
300458.XSHE 12.4225
300413.XSHE 10.0609
300408.XSHE 7.5259
603996.XSHG 4.3534
000166.XSHE 3.1675
300498.XSHE 7.4478
601155.XSHG 2.8596
001979.XSHE 3.3113
001872.XSHE 2.8029
001914.XSHE 2.0273
[2811 rows x 1 columns]
2016-01-05
INFO
pb_ratio
000010.XSHE 3.4495
000014.XSHE 5.791
000006.XSHE 3.1898
000008.XSHE 8.7908
000012.XSHE 3.2641
000011.XSHE 3.7094
000007.XSHE 14.8823
000009.XSHE 5.753
000001.XSHE 1.0038
000002.XSHE 2.695
000004.XSHE 42.5533
000005.XSHE 8.3304
000016.XSHE 5.3217
000017.XSHE 586.259
000018.XSHE 15.4643
000019.XSHE 4.9428
000021.XSHE 3.0675
000022.XSHE 2.5256
000023.XSHE 11.0294
000020.XSHE 24.5874
000025.XSHE 25.8496
000026.XSHE 2.518
000027.XSHE 1.6142
000028.XSHE 4.3987
000029.XSHE 5.0459
000030.XSHE 2.5426
000031.XSHE 3.8468
000032.XSHE 5.8759
000033.XSHE 355.578
000034.XSHE 53.5046
...

定时获取数据

在这里插入图片描述

每天运行

scheduler.run_daily

scheduler.run_daily(function)

参数:

参数类型注释
functionfunction使传入的function每日运行。注意,function 函数一定要包含(并且只能包含)context, bar_dict 两个输入参数

每周运行

scheduler.run_weekly

scheduler.run_weekly(function, weekday=x, tradingday=t)

注意:

  • tradingday 中的负数表示倒数
  • tradingday 表示交易日. 如某周只有四个交易日, 则此周的tradingday=4 与 tradingday=-1 表示同一天
  • weekday 和 tradingday 不能同时使用

每月运行

scheduler.run_monthly

scheduler.run_monthly(function, tradingday=t)

注意:

  • tradingday 中的负数表示倒数
  • tradingday 表示交易日. 如某周只有四个交易日, 则此周的tradingday=4 与 tradingday=-1 表示同一天

运行顺序

如果我们设定了一个按月运行: scheduler.run_monthly(get_data, tradingday=1). 假设是 2021年 3 月份, 3 月 1 号是第一个交易日:

  • 3 月 1 号: before_trading -> get_data -> handle_bar
  • 3 月的其他日期: before_trading -> handle_bar

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/52748.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

微信公众号开发,配置完整代码,示例

一、server.js文件 const express require(express) const app express() const crypto require(crypto) //引入node内置加密模块 const randomstring require(randomstring) //引入第三方产生随机字符串模块&#xff0c;来产生nonceStr const axios require(axios) /…

零代码编程:用ChatGPT自动登陆微信公众号后台

要实现微信公众号后台自动登陆&#xff0c;可以使用ChatGPT来编写Python代码实现。 微信公众平台账号密码登陆&#xff0c;要先点击“使用账号登录”&#xff0c;源代码是&#xff1a;<a href"javascript:;" class"login__type__container__select-type"…

Java代码 微信公众号推送(代码详细)

用的是idea, 需要修改的地方在于这些地方改了 然后吧账号密码填写进去就好了 运行类是 Yi 这个类 非常简单 祝大家成功 ,不会的关注私聊 微信公众号测试注册地址:微信公众平台 (qq.com) 我用的模板是这个只有一个数据 ,当然这个可以自己添加 做出来的效果当然上面那个…

如何优雅的在微信公众号中编辑代码

这篇文章严格意义上是写给有公众号且公众号文章需要贴代码的朋友们看的。 1 公众号编辑器真难用 自从入坑公众号以来&#xff0c;被公众号的这个编辑器简直折磨死了。我发的文章基本上是少不了贴代码的&#xff0c;可是每次贴上去的代码总是被公众号的编辑器无厘头的给我过滤掉…

初访Chirper:一个禁止人类发言的人工智能社交网络,AI们居然在吵架,太6了

最近&#xff0c;在网上仅仅用ChatGPT和AI聊天已经不够刺激了&#xff0c;现在&#xff0c;AI已经有了属于自己的专属社区&#xff1a;Chirper 简而言之&#xff0c;这是一个禁止人类发帖、评论、转发的类推特网站。人类进去后只能看见&#xff1a;成千上万个AI聊天机器人在其…

ChatGPT和搜索引擎哪个更好用

目录 ChatGPT和搜索引擎的概念 ChatGPT和搜索引擎的作用 ChatGPT的作用 搜索引擎的作用 ChatGPT和搜索引擎哪个更好用 总结 ChatGPT和搜索引擎的概念 ChatGPT是一种基于对话的人工智能技术&#xff0c;而搜索引擎则是一种用于在互联网上查找和检索信息的工具。它们各自具…

产品负责人 VS 产品经理

概述 Scrum框架创造了对新角色的需求&#xff0c;其中就包括 “产品负责人” 。这不可避免额外地导致对产品负责人和产品经理角色的误解和误用&#xff0c;对团队产生不必要的压力。 角色混淆会带来噪音和摩擦&#xff0c;削弱团队对价值、质量、速度和满意度的关注。这种混乱…

从程序员到产品经理

一直以来我都觉得自己是个典型性程序员。 比如出门时候我总是穿格子衫、牛仔裤&#xff0c;戴着黑框眼镜背个双肩包&#xff1b; 比如休闲时候我是个死宅&#xff0c;喜欢玩游戏和看小说&#xff1b; 比如一直到23岁时候我依然是“妹手软”&#xff0c;没谈过恋爱。 当然可能也…

产品经理培训还好找工作吗?

本篇文章主要讲解粉丝后台留言问题&#xff1a;新人转产品&#xff0c;通过培训班还好找工作吗。 日期&#xff1a;2021年8月21日 作者&#xff1a;任聪聪 我以不同角度为大家解读&#xff0c;培训出来的产品经理是否还好找工作。 产品经理的就业行情还好吗 先来看两组数据&a…

人工智能 | ShowMeAI资讯日报 #2022.06.05

ShowMeAI日报系列全新升级&#xff01;覆盖AI人工智能 工具&框架 | 项目&代码 | 博文&分享 | 数据&资源 | 研究&论文 等方向。点击查看 历史文章列表&#xff0c;在公众号内订阅话题 #ShowMeAI资讯日报&#xff0c;可接收每日最新推送。点击 专题合辑&…

人工智能 | ShowMeAI资讯日报 #2022.06.06

ShowMeAI日报系列全新升级&#xff01;覆盖AI人工智能 工具&框架 | 项目&代码 | 博文&分享 | 数据&资源 | 研究&论文 等方向。点击查看 历史文章列表&#xff0c;在公众号内订阅话题 #ShowMeAI资讯日报&#xff0c;可接收每日最新推送。点击 专题合辑&…

人工智能 | ShowMeAI资讯日报 #2022.06.18

ShowMeAI日报系列全新升级&#xff01;覆盖AI人工智能 工具&框架 | 项目&代码 | 博文&分享 | 数据&资源 | 研究&论文 等方向。点击查看 历史文章列表&#xff0c;在公众号内订阅话题 #ShowMeAI资讯日报&#xff0c;可接收每日最新推送。点击 专题合辑&…

人工智能 | ShowMeAI资讯日报 #2022.06.20

ShowMeAI日报系列全新升级&#xff01;覆盖AI人工智能 工具&框架 | 项目&代码 | 博文&分享 | 数据&资源 | 研究&论文 等方向。点击查看 历史文章列表&#xff0c;在公众号内订阅话题 #ShowMeAI资讯日报&#xff0c;可接收每日最新推送。点击 专题合辑&…

人工智能 | ShowMeAI资讯日报 #2022.06.29

ShowMeAI日报系列全新升级&#xff01;覆盖AI人工智能 工具&框架 | 项目&代码 | 博文&分享 | 数据&资源 | 研究&论文 等方向。点击查看 历史文章列表&#xff0c;在公众号内订阅话题 #ShowMeAI资讯日报&#xff0c;可接收每日最新推送。点击 专题合辑&…

人工智能 | ShowMeAI资讯日报 #2022.06.24

ShowMeAI日报系列全新升级&#xff01;覆盖AI人工智能 工具&框架 | 项目&代码 | 博文&分享 | 数据&资源 | 研究&论文 等方向。点击查看 历史文章列表&#xff0c;在公众号内订阅话题 #ShowMeAI资讯日报&#xff0c;可接收每日最新推送。点击 专题合辑&…

人工智能 | ShowMeAI资讯日报 #2022.06.16

ShowMeAI日报系列全新升级&#xff01;覆盖AI人工智能 工具&框架 | 项目&代码 | 博文&分享 | 数据&资源 | 研究&论文 等方向。点击查看 历史文章列表&#xff0c;在公众号内订阅话题 #ShowMeAI资讯日报&#xff0c;可接收每日最新推送。点击 专题合辑&…

人工智能 | ShowMeAI资讯日报 #2022.06.30

ShowMeAI日报系列全新升级&#xff01;覆盖AI人工智能 工具&框架 | 项目&代码 | 博文&分享 | 数据&资源 | 研究&论文 等方向。点击查看 历史文章列表&#xff0c;在公众号内订阅话题 #ShowMeAI资讯日报&#xff0c;可接收每日最新推送。点击 专题合辑&…

人工智能 | ShowMeAI资讯日报 #2022.06.19

ShowMeAI日报系列全新升级&#xff01;覆盖AI人工智能 工具&框架 | 项目&代码 | 博文&分享 | 数据&资源 | 研究&论文 等方向。点击查看 历史文章列表&#xff0c;在公众号内订阅话题 #ShowMeAI资讯日报&#xff0c;可接收每日最新推送。点击 专题合辑&…

2021QS计算机专业排名发布:MIT斯坦福霸榜,清华北大进入前20

转载于 新智元 来源&#xff1a;qs topuniversities 编辑&#xff1a;yaxin 【新智元导读】2021 QS世界大学学科排名出炉了&#xff01;最新排名涉及51个学科&#xff0c;横跨5大领域。在计算机科学专业排名中&#xff0c;MIT、斯坦福、哈佛占领了世界前三席&#xff0c;中国…

最新!泰晤士2022世界大学排名发布:97所中国大陆高校上榜!

点击下方卡片&#xff0c;关注“CVer”公众号 AI/CV重磅干货&#xff0c;第一时间送达 来源&#xff1a;泰晤士高等教育 转载自&#xff1a;双一流高校 刚刚&#xff08;北京时间2021年9月2日上午7时&#xff09;&#xff0c;泰晤士高等教育发布了2022年度世界大学排名&#xf…