BackTrader 中文文档(四)(2)https://developer.aliyun.com/article/1489242
参数:
* dataname (None) * name () * compression (1) * timeframe (5) * fromdate (None) * todate (None) * sessionstart (None) * sessionend (None) * filters ([]) * tz (None) * tzinput (None) * qcheck (0.0) * calendar (None) * headers (True) * separator (,) * nullvalue (nan) * dtformat (%Y.%m.%d) * tmformat (%H:%M) * datetime (0) * time (1) * open (2) * high (3) * low (4) * close (5) * volume (6) * openinterest (-1)
OandaData
Oanda 数据源。
参数:
qcheck
(默认:0.5
)
在未收到数据时唤醒的时间,以便充分重新采样/回放数据包并将通知传递给上游链。historical
(默认:False
)
如果设置为True
,数据源在完成首次数据下载后将停止。
标准数据源参数fromdate
和todate
将作为参考。
如果所请求的持续时间大于 IB 根据数据所选的时间框架/压缩允许的持续时间,则数据源将发出多个请求。backfill_start
(默认:True
)
在开始时执行回填。将在单个请求中获取最大可能的历史数据。backfill
(默认:True
)
在断开/重新连接周期后执行回填。将使用间隙持续时间来下载可能的最小数据量backfill_from
(默认:None
)
可以传递附加数据源来执行初始层的补充。一旦数据源耗尽并且如果需要,将从 IB 进行补充。这最理想地用于从已存储的源(如磁盘上的文件)进行补充,但不限于此。bidask
(默认:True
)
如果为True
,则历史/补偿请求将从服务器请求买入/卖出价格
如果为False
,则将请求midpointuseask
(默认:False
)
如果为True
,则将使用bidask价格的ask部分,而不是默认使用bidincludeFirst
(默认:True
)
通过直接将参数直接设置为 Oanda API 调用来影响历史/补偿请求的第 1 个栏条的交付reconnect
(默认:True
)
当网络连接中断时重新连接reconnections
(默认:-1
)
重新连接尝试次数:-1
表示永远reconntimeout
(默认:5.0
)
重新连接尝试之间等待的秒数
此数据源仅支持与 OANDA API 开发人员指南中的定义相符的timeframe
和compression
的此映射:
(TimeFrame.Seconds, 5): 'S5', (TimeFrame.Seconds, 10): 'S10', (TimeFrame.Seconds, 15): 'S15', (TimeFrame.Seconds, 30): 'S30', (TimeFrame.Minutes, 1): 'M1', (TimeFrame.Minutes, 2): 'M3', (TimeFrame.Minutes, 3): 'M3', (TimeFrame.Minutes, 4): 'M4', (TimeFrame.Minutes, 5): 'M5', (TimeFrame.Minutes, 10): 'M10', (TimeFrame.Minutes, 15): 'M15', (TimeFrame.Minutes, 30): 'M30', (TimeFrame.Minutes, 60): 'H1', (TimeFrame.Minutes, 120): 'H2', (TimeFrame.Minutes, 180): 'H3', (TimeFrame.Minutes, 240): 'H4', (TimeFrame.Minutes, 360): 'H6', (TimeFrame.Minutes, 480): 'H8', (TimeFrame.Days, 1): 'D', (TimeFrame.Weeks, 1): 'W', (TimeFrame.Months, 1): 'M',
任何其他组合都将被拒绝
行:
* close * low * high * open * volume * openinterest * datetime
参数:
* dataname (None) * name () * compression (1) * timeframe (5) * fromdate (None) * todate (None) * sessionstart (None) * sessionend (None) * filters ([]) * tz (None) * tzinput (None) * qcheck (0.5) * calendar (None) * historical (False) * backfill_start (True) * backfill (True) * backfill_from (None) * bidask (True) * useask (False) * includeFirst (True) * reconnect (True) * reconnections (-1) * reconntimeout (5.0)
PandasData
使用 Pandas DataFrame 作为数据源,使用列名的索引(可以是“数字”)
这意味着所有与行相关的参数都必须具有数值作为元组的索引
参数:
nocase
(默认 True)不区分列名大小写的匹配
注:
dataname
参数是一个 Pandas DataFrame- 可用于日期时间的值
- None:索引包含日期时间
- -1:无索引,自动检测列
= 0 或字符串:具体的列标识符
- 对于其他行参数
- None:列不存在
- -1:自动检测
= 0 或字符串:具体的列标识符
行:
* close * low * high * open * volume * openinterest * datetime
参数:
* dataname (None) * name () * compression (1) * timeframe (5) * fromdate (None) * todate (None) * sessionstart (None) * sessionend (None) * filters ([]) * tz (None) * tzinput (None) * qcheck (0.0) * calendar (None) * nocase (True) * datetime (None) * open (-1) * high (-1) * low (-1) * close (-1) * volume (-1) * openinterest (-1)
PandasDirectData
使用 Pandas DataFrame 作为数据源,直接迭代“itertuples”返回的元组。
这意味着所有与行相关的参数都必须具有数值作为元组的索引
注:
dataname
参数是一个 Pandas DataFrame- 数据行中任何参数的负值表示它不存在于 DataFrame 中
行:
* close * low * high * open * volume * openinterest * datetime
参数:
* dataname (None) * name () * compression (1) * timeframe (5) * fromdate (None) * todate (None) * sessionstart (None) * sessionend (None) * filters ([]) * tz (None) * tzinput (None) * qcheck (0.0) * calendar (None) * datetime (0) * open (1) * high (2) * low (3) * close (4) * volume (5) * openinterest (6)
Quandl
对给定时间范围内的数据执行从 Quandl 服务器的直接下载。
特定参数(或特定含义):
dataname
要下载的股票代码(例如‘YHOO’)baseurl
服务器 URL。未来可能有人决定开放与 Quandl 兼容的服务。proxies
一个字典,指示下载要经过的代理,如{‘http’: ‘myproxy.com
’}或{‘http’: ‘127.0.0.1:8080
’}buffered
如果为 True,则在解析开始前,整个套接字连接将在本地缓冲。reverse
Quandl 以降序返回值(最新的先)。如果这是True
(默认值),请求将告诉 Quandl 以升序(从旧到新)格式返回adjclose
是否使用股息/拆分调整后的收盘价,并根据其调整所有值。apikey
在可能需要时的 apikey 标识dataset
标识要查询的数据集的字符串。默认为WIKI
行:
* close * low * high * open * volume * openinterest * datetime
参数:
* dataname (None) * name () * compression (1) * timeframe (5) * fromdate (None) * todate (None) * sessionstart (None) * sessionend (None) * filters ([]) * tz (None) * tzinput (None) * qcheck (0.0) * calendar (None) * headers (True) * separator (,) * reverse (True) * adjclose (True) * round (False) * decimals (2) * baseurl ([`www.quandl.com/api/v3/datasets`](https://www.quandl.com/api/v3/datasets)) * proxies ({}) * buffered (True) * apikey (None) * dataset (WIKI)
QuandlCSV
解析预先下载的 Quandl CSV 数据源(或者如果它们符合 Quandl 格式则是本地生成的)
特定参数:
dataname
:要解析的文件名或类似文件的对象reverse
(默认值:False
)
假定本地存储的文件已在下载过程中进行了反转adjclose
(默认值:True
)
是否使用股息/拆分调整后的收盘价,并根据其调整所有值。round
(默认值:False
)
是否在调整收盘价后将值四舍五入到特定小数位数decimals
(默认值:2
)
要四舍五入的小数位数
行:
* close * low * high * open * volume * openinterest * datetime
参数:
* dataname (None) * name () * compression (1) * timeframe (5) * fromdate (None) * todate (None) * sessionstart (None) * sessionend (None) * filters ([]) * tz (None) * tzinput (None) * qcheck (0.0) * calendar (None) * headers (True) * separator (,) * reverse (False) * adjclose (True) * round (False) * decimals (2)
RollOver
当满足条件时转到下一个未来的类
参数:
checkdate
(默认值:None
)这必须是一个可调用对象,具有以下签名:
checkdate(dt, d):`
- 在哪里:
dt
是一个datetime.datetime
对象d
是当前活动期货的当前数据源
- 期望返回值:
True
:只要可调用返回此值,就可以切换到下一个未来
如果商品在三月的第三个星期五到期,checkdate
可能会在到期周的整个周返回 True
。
* `False`: the expiration cannot take place
checkcondition
(默认值:None
)注意:仅当checkdate
返回True
时才会调用此函数如果为None
,则会在内部评估为True
(执行滚动)否则,这必须是一个可调用对象,具有以下签名:
checkcondition(d0, d1)`
- 在哪里:
d0
是当前活动期货的当前数据源d1
是下一个到期的数据源
- 期望返回值:
True
:切换到下一个未来
跟随 checkdate
的示例,这可能表示仅当 d0
中的 volume 已经小于 d1
中的 volume 时,才能发生滚动
* `False`: the expiration cannot take place
行:
* close * low * high * open * volume * openinterest * datetime
参数:
* dataname (None) * name () * compression (1) * timeframe (5) * fromdate (None) * todate (None) * sessionstart (None) * sessionend (None) * filters ([]) * tz (None) * tzinput (None) * qcheck (0.0) * calendar (None) * checkdate (None) * checkcondition (None)
SierraChartCSVData
解析 SierraChart 导出的 CSV 文件。
特定参数(或特定含义):
dataname
:要解析的文件名或类似文件的对象- 使用 GenericCSVData 并简单修改日期格式(dtformat)为
行:
* close * low * high * open * volume * openinterest * datetime
参数:
* dataname (None) * name () * compression (1) * timeframe (5) * fromdate (None) * todate (None) * sessionstart (None) * sessionend (None) * filters ([]) * tz (None) * tzinput (None) * qcheck (0.0) * calendar (None) * headers (True) * separator (,) * nullvalue (nan) * dtformat (%Y/%m/%d) * tmformat (%H:%M:%S) * datetime (0) * time (-1) * open (1) * high (2) * low (3) * close (4) * volume (5) * openinterest (6)
VCData
VisualChart 数据源。
参数:
qcheck
(默认值:0.5
)唤醒重新采样器/重播器检查当前柱状图是否可交付的默认超时时间
仅当在数据中插入了重新采样/重播过滤器时才使用该值historical
(默认值:False
)如果没有提供todate
参数(在基类中定义),则设置为True
将强制进行历史下载
如果提供了todate
,则会实现相同的效果milliseconds
(默认值:True
)由 Visual Chart 构造的柱状图如下所示:HH:MM:59.999000
如果此参数为True
,则会添加一毫秒到此时间,使其看起来像这样:HH::MM + 1:00.000000tradename
(默认:None
)连续期货不能交易,但非常适合数据跟踪。如果提供了此参数,则它将是当前期货的名称,这将是交易资产。例如:
- 001ES -> ES 迷你连续作为
dataname
提供 - ESU16 -> ES 迷你 2016-09. 如果在
tradename
中提供,它将是交易资产。
usetimezones
(默认:True
)对于大多数市场,Visual Chart提供的时间偏移信息允许将日期时间转换为市场时间(backtrader表示的选择)
一些市场是特殊的(096
),需要特殊的内部覆盖和时区支持,以显示用户期望的市场时间。
如果将此参数设置为True
,将尝试导入pytz
以使用时区(默认)
禁用它将删除时区使用(如果负载过大可能有所帮助)
行数:
* close * low * high * open * volume * openinterest * datetime
参数:
* dataname (None) * name () * compression (1) * timeframe (5) * fromdate (None) * todate (None) * sessionstart (None) * sessionend (None) * filters ([]) * tz (None) * tzinput (None) * qcheck (0.5) * calendar (None) * historical (False) * millisecond (True) * tradename (None) * usetimezones (True)
BackTrader 中文文档(四)(4)https://developer.aliyun.com/article/1489245