跳转至

Quantlib

samplers

它包含 samplers.当采样事件发生时, samplers会触发 onSample() 回调,例如经过的持续时间.它还计算此事件的衰减值.

samplers实例:

" samplers":[
    ["ds_0",["TimeSampler",{" halflife":5,"毫秒":100}]], 
    ["ds_1",["TimeSampler",{" halflife": 25, "msecs": 100}]]
]

samplers概述:

Class Description
TimeSampler 当指定的持续时间过去时触发采样事件.
TradeSampler samplers在交易事件中触发.
samplers 当交易量超过阈值时, samplers被触发.
NotionalSampler 对于给定的名义阈值,只要一段时间内的名义交易价值 (trade_price*trade_qty) 大于名义阈值,就会触发 samplers.

samplers 详细信息:

TimeSampler

当指定的持续时间过去时触发采样事件.

Field Description Mandatory
msecs 触发采样事件的时间间隔(毫秒单位).
halflife 将值衰减一半所采用的 samplers点数. 没有

TradeSampler

samplers在交易事件时触发.

Field Description Mandatory
port 市场数据的来源,第一个参数是symbol,第二个参数是交易所.
halflife 将值衰减一半所采用的 samplers点数. 没有

VolSampler

当交易量超过阈值时触发 samplers.

Field Description Mandatory
port 市场数据的来源,第一个参数是symbol,第二个参数是交易所.
vol 用户定义的音量阈值
halflife 将值衰减一半所采用的 samplers点数. 没有
multi_events_per_trade 一个布尔参数指示 samplers是否会根据交易量多次触发. 没有

NotionalSampler

对于给定的名义阈值,只要一段时间内的名义交易价值 (trade_price*trade_qty) 大于名义阈值,就会触发 samplers.

Field Description Mandatory
port 市场数据的来源,第一个参数是symbol,第二个参数是交易所.
notional 用户定义的名义阈值.
halflife 将值衰减一半所采用的 samplers点数. 没有
multi_events_per_trade 一个布尔参数指示 samplers是否会根据交易的概念被多次触发. 没有

pricing_models

它包含pricing_models.pricing_models产生资产的公允价值.它可以从账簿、交易或投资组合中计算出来.

pricing_models实例:

"pricing_models":[
    ["BTCUSDT.HUOBI_midpx",["MidPx",{"端口":["BTCUSDT","HUOBI"]}]]
]

pricing_models概述:

Class Description
MidPx 计算指定symbol中间价的pricing_models.
AskPx 一种pricing_models,计算指定symbol的最佳价格.
BidPx 一种pricing_models,计算指定symbol的最佳 BidPx.
TradePx 计算指定symbol交易价格的pricing_models.
TbboMid 一种pricing_models,根据指定symbol的最佳买入价和卖 BidPx计算中间价.
XbboMid 一种pricing_models,根据指定symbol的最佳买价和卖价 xbbo 价格计算中间价.
PrevClosePx 计算指定symbol前收盘价的pricing_models.
MktWPx 一种pricing_models,计算指定代码的买入/ sell_up规模加权中间价.
Vwap 计算指定symbol的交易量加权交易价格的pricing_models.
Twap 使用 EMA(指数移动平均线)计算指定symbol的时间加权交易价格的pricing_models.
更多pricing_models将很快在 QuantLib 中提供.

pricing_models 详细信息:

MidPx

计算指定symbol中间价的pricing_models.

Field Description Mandatory
port 市场数据的来源,第一个参数是symbol,第二个参数是交易所.

AskPx

一种pricing_models,计算指定symbol的最佳价格.

Field Description Mandatory
port 市场数据的来源,第一个参数是symbol,第二个参数是交易所.

BidPx

一种pricing_models,计算指定symbol的最佳 BidPx.

Field Description Mandatory
port 市场数据的来源,第一个参数是symbol,第二个参数是交易所.

TradePx

计算指定symbol交易价格的pricing_models.

Field Description Mandatory
port 市场数据的来源,第一个参数是symbol,第二个参数是交易所.

TbboMid

一种pricing_models,根据指定symbol的最佳买入价和卖 BidPx计算中间价.

Field Description Mandatory
port 市场数据的来源,第一个参数是symbol,第二个参数是交易所.

XbboMid

一种pricing_models,根据指定symbol的最佳买入价和卖 BidPx计算中间价.

Field Description Mandatory
port 市场数据的来源,第一个参数是symbol,第二个参数是交易所.

PrevClosePx

计算指定symbol前收盘价的pricing_models.

Field Description Mandatory
port 市场数据的来源,第一个参数是symbol,第二个参数是交易所.

MktWPx

一种pricing_models,计算指定代码的买/卖大小加权中间价.

Field Description Mandatory
port 市场数据的来源,第一个参数是symbol,第二个参数是交易所.

Vwap

一种pricing_models,计算指定symbol的交易量加权交易价格.

Field Description Mandatory
port 市场数据的来源,第一个参数是symbol,第二个参数是交易所.
samplers 数据采样方法的类型.

Twap

一种pricing_models,使用 EMA(指数移动平均线)计算指定symbol的时间加权交易价格.

Field Description Mandatory
port 市场数据的来源,第一个参数是symbol,第二个参数是交易所.
samplers 数据采样方法的类型.

变量

它包含变量.一个变量在任何时候都会生成一个数字.它可以用作独立特征或中间值来计算特征.

变量实例:

"variables":[
    ["Zero",["Const",{"value":0.0}]],
    ["VAR_A_bidpx",["PriceVar",{"pm":"BSVUSDTSWAP.OKEX_SWAP_bidpx "}]], 
    ["RGAP_SBBA", [" Ratio", {"v1": "VAR_B_askpx", "v2": "VAR_A_askpx"}]],
    ["EMA_BBSA", ["VarEma", {"变量": "RGAP_BBSA", "sampler": "std_sampler"}]],
    ["STD_SBBA", ["VarStd2", {"variable": "RGAP_SBBA", "init_var_value": 1,"init_std_value": 0.0006,"sampler": "std_sampler"}]],
    ["BTCUSDT.H_ret", ["Sub", {"v1": "BTCUSDT.H_ratio", "v2": "BTCUSDT.H_const"}]],
    ["BTCUSDT.H_high_signal", ["最大值", {"变量": ["BTCOFQ0.K_BTCUSDT.H_bt0_basispts", "BTCOFQ0.K_BTCUSDT.H_bt1_basis"]}]],
    ["BTCUSDT.H_low_signal", ["最小值", {"变量": [" BTCOFQ0.K_BTCUSDT.H_bt0_basispts", "BTCOFQ0.K_BTCUSDT.H_bt1_basis"]}]],
    ["SELL_UP", ["GreaterThan", {"v1": "RGAP_SBBA", "v2": "UP"}]],  
    [ "BUY_DOWN", ["LessThan", {"v1": "RGAP_BBSA", "v2": "DOWN"}]]
]

变量概述:

Class Description
BookReturn 账面加权价格和参考价格之间的回报(例如 MidPx)
PriceVar 可变价值来自价格.
Ratio 计算两个变量的 Ratio.
VarEma 计算 ema 的值.
VarStd2 计算标准偏差的值.
Sum 将多个变量作为输入,并将其值相加.
And 对多个变量执行"与"运算.
Sub 将两个变量作为输入并将它们相减.
Add 将两个变量作为输入并将它们相加.
Div 将两个变量作为输入并将它们相除.
Mul 将两个变量作为输入并将它们相乘.
Scale 获取输入系数和变量,并按系数缩放变量.
Max 获取多个变量的最大值.
Min 获取多个变量的最小值.
Mean 计算大量变量值的平均值.
GreaterThan 比较两个参数的值.
LessThan 比较两个参数的值.
Or 对多个变量执行"或"运算.
NotZero 检查变量是否为零.
Not 对多个变量执行"NOT"操作.
NormGT 对于任意两个变量,它检查一个变量的绝对值是否大于另一个变量的绝对值.
SameSign 检查两个变量的 symbol是否相同.
Const 接受一个常数作为输入.
TopN 计算平均前 N 个变量值.
Median 计算大量变量值的中值.
MinC 接受一个变量和一个常数作为输入,并计算两者的最小值.
MaxC 将变量和常数作为输入,并计算两者的最大值.
Bollinger 对于给定的 trend alpha 和阈值,该指标检查 (trend_value)/(stdev(trend_value)) 的 Ratio是否高于或低于阈值,如果高于值 = +1,如果低于值 =-1,否则值=价值.
LevelPrice 将变量和常数作为输入,并计算两者的最大值.
Trend 将pricing_models和 samplers参数作为输入,并计算pricing_models的指数移动平均值.
Volatility 计算 trend EMA 的标准差.
HighLow 对于给定的pricing_models和 samplers,计算给定柱数的最高、最低、总回报、高-低范围和最小值(最后 - 低,高 - 最后).
ReturnFromMid 将pricing_models和中间pricing_models作为输入并计算它们之间的回报.
ReturnBetweenPrices 将pricing_models和基本pricing_models作为输入并计算它们之间的回报.

| |更多变量将很快在 QuantLib 中提供. |

变量详细信息:

PriceVar

变量值来自价格.

Field Description Mandatory
pm 从pricing_models派生的 PriceVar

Ratio

计算两个变量的 Ratio.

Field Description Mandatory
v1 比值的分子部分.
v2 Ratio的分母部分.

VarEma

计算 ema 的值.

Field Description Mandatory
variable 用于计算指数移动平均线的变量.
samplers 计算 ema 时的衰减参数.

VarStd2

计算标准偏差的值.

Field Description Mandatory
variable 用于计算标准偏差的变量.
init_var_value 用于计算标准偏差的初始变量.
init_std_value 用于计算标准偏差的初始标准.

Add 将

两个变量作为输入并将它们相加.

Field Description Mandatory
v1 & v2 需要添加的两个参数.

Sub

将两个变量作为输入并将它们相减.

Field Description Mandatory
v1 & v2 要减去的两个参数.

Mul

将两个变量作为输入并将它们相乘.

Field Description Mandatory
v1 & v2 两个参数相乘.

Div

将两个变量作为输入并将它们相除.

Field Description Mandatory
v1 & v2 要划分的两个参数.

Scale

获取输入系数和变量,并按系数缩放变量.

Field Description Mandatory
coef 存储一个常数值.
variable 用户定义的变量.

Max

获取多个变量的最大值.

Field Description Mandatory
variable 存储要比较的变量列表.

Min

获取多个变量的最小值.

Field Description Mandatory
variable 存储要比较的变量列表.

Mean

计算大量变量值的平均值.

Field Description Mandatory
variable 存储要比较的变量列表.

GreaterThan

比较两个参数的值.

Field Description Mandatory
v1 & v2 v1 大于 v2.

LessThan

比较两个参数的值.

Field Description Mandatory
v1 & v2 v1 小于 v2.

Or

对多个变量执行"或"运算.

Field Description Mandatory
variables 存储要比较的变量列表.

Not

对多个变量执行"NOT"操作.

Field Description Mandatory
variable 用户定义的变量.

NotZero

检查变量是否为零.

Field Description Mandatory
variables 用户定义的变量.

NormGT

对于任意两个变量,它检查一个变量的绝对值是否大于另一个变量的绝对值.

Field Description Mandatory
v1 & v2 需要添加的两个参数.

Const

接受一个常数作为输入.

Field Description Mandatory
value 存储一个常数值.

TopN

计算平均前 N 个变量值.

Field Description Mandatory
variables 存储要比较的变量列表.

Median

计算大量变量值的中值.

Field Description Mandatory
variables 存储要比较的变量列表.

MinC

将变量和常数作为输入,并计算两者的最小值.

Field Description Mandatory
variables 用户定义变量.
常量 存储一个常数值.

MaxC

将变量和常数作为输入,并计算两者的最大值.

Field Description Mandatory
variables 用户定义变量.
Const 存储一个常数值.

Bollinger

对于给定的 trend alpha 和阈值,该指标检查 (trend_value)/(stdev(trend_value)) 的 Ratio是否高于或低于阈值,如果高于值 = +1,如果低于值 = -1,否则价值 = 价值

Field Description Mandatory
trend 用户定义的 trend方法.
stdev_sampler 数据采样方法的类型.
default_stdev 初始标准偏差.
cutoff 阈值 cutoff.默认为 1 没有

LevelPrice

采用参考pricing_models和边,在达到 level_cap 或 size_cap 时计算水平价格.

Field Description Mandatory
ref_pm 用户定义的参考定价方法.
side 1 表示买入,2 表示 sell_up.默认为 1 没有
level_cap 等级上限.默认为 5 没有

Trend

将pricing_models和 samplers参数作为输入,并计算pricing_models的指数移动平均线.

Field Description Mandatory
pm 用户定义的定价方法.
base_pm 用户定义的计算 EMA 的定价方法.默认是 pm 没有
samplers 数据采样方法的类型.

Volatility

计算 trend EMA 的标准差.

Field Description Mandatory
trend 用户定义的 trend方法.
samplers 数据采样方法的类型.

HighLow

对于给定的pricing_models和 samplers,计算给定柱数的最高价、最低价、总回报率、最高-最低价范围和最小值(最后 - 最低价,最高价- 最后价).

Field Description Mandatory
pm 用户定义的pricing_models.
samplers 数据采样方法的类型.
num_bars 条数 没有
output 选择 5 种 output类型之一: range, return, high, low, px_from where px_from is min(high-px, px-low).默认为range 没有

ReturnFromMid

将pricing_models和中间pricing_models作为输入并计算它们之间的回报.

Field Description Mandatory
pm 用户定义的pricing_models.
mid_pm 用户定义的中间pricing_models.

ReturnBetweenPrices

将pricing_models和基本pricing_models作为输入并计算它们之间的回报.

Field Description Mandatory
pm 用户定义的pricing_models.
base_pm 用户定义的基本pricing_models.

LinearSum

将输入变量乘以权重;您可以使用它来存储 LinearModel. 必须使用其中一个字段.

Field Description Mandatory
variables 一个字典列表,每个字典都包含属性"weight"和"variable",其中 weight 是一个浮点数,variable 是一个变量的名称. 没有
components 形式为 (weight, variable) 的元组列表没有

models

它包含模型.模型是从一个或多个变量生成的值.它的值代表预测的远期回报,并由 ModelStrategy 使用.

模型实例:

"models": [
    ["Zero_m", ["LinearModel", {"variable": "Zero"}]]
]

模型概述:

Class Description
LinearModel 它接受单个变量作为参数,并根据变量的值将 signal分配给策略(另外也可以将 trading_condition 作为参数.
更多模型将很快在 QuantLib 中发货.

模型详情:

LinearModel

它以单个变量作为参数,并根据变量的值将 signal分配给策略(另外也可以将 trading_condition 作为参数.

字段 描述 强制
variable 要传递的变量.
trading_condition samplers.仅发生交易当有样本事件时.

strategies

它包含策略.策略实现symbol的执行逻辑.它由时间和市场事件驱动,根据模型做出下单/取消决策除了

策略常用参数:

交易逻辑,策略 components还提供一组常用参数,可帮助您更好地调整和管理您的策略,例如名义订单、订单冷却时间等.下面是一个带有解释的列表.

Field Description Mandatory
symbol 策略交易的象征.
trade_market 策略在哪个市场交易.
account 策略在哪个 account中运行.是
risk_id 策略所属的策略组合,用于合并计算出的风险.默认值为 0.没有
order_notional 每个订单的 max_notional价值(仅限发布).默认值为 max_notional/5. 没有
ioc_notional 每个订单的 max_notional价值 (ioc).默认值为 max_notional/5. 没有
max_notional 每个symbol允许的 max_notional价值.默认值为 1000000.没有
max_portfolio_notional 每个账户允许的 max_notional金额.默认值为 -1. 没有
max_risk 战略投资组合风险敞口的 max_notional价值.默认值为 1000000.没有
cooloff 下单的时间间隔.默认值为 0.没有
use_margin 无论是保证金交易.默认为假. 没有
margin_source 保证金模式,仅在 use_margin 为 True 时有效.默认是隔离的 没有

策略实例:

"strategies":[                                 
    ["BTCUSDTSWAP.OKEX_SWAP",[
        "SimpleTakerStrategy",{
            "symbol":"BTCUSDTSWAP",
            "trade_market":"OKEX_SWAP",
            "order_size":0.0001,
            "signal": "BTCUSDTSWAP.OKEX_SWAP_trend30"
    }]],
    ["BTCUSDT.BINANCE", [
        "CCSimpleMakerStrategy", {
            "symbol": "BTCUSDT",
            "trade_market": "BINANCE",
            "account": 10001,
            "model": "BTCUSDT .BINANCE_m",
            "make_mid_pm": "BTCUSDT.BINANCE_midpx",
            "use_bps_thold": true,
            "make_thold": 1,
            "order_notional": 2000,
            "max_notional": 2000
        }]]       
    ["Arb01", [
        "Arb1Strategy", {
            "symbol": "BSVUSDTSWAP", 
            "trade_market": "OKEX_SWAP",
            "risk_id":0, 
            "use_margin": true,
             "account": 10001,
              "model": "model_a",
              "rbda": "RM_BDA" ,
              "sell_up": "SELL_UP",
              "buy_down": "BUY_DOWN", 
              "order_notional": 100,
               "max_notional": 1000, 
               "max_risk": 500
               }]],
    ["Arb02", [
        "Arb2Strategy", {
            "symbol:"BSVUSDSWAP"、 
            "trade_market":"OKEX_SWAP"、
            "risk_id":0、 
             "use_margin":true、
              "account":10001、
               "model":"model_a"、
                "max_notional":1000、 
                "max_risk" : 500
                }]]                
]

策略概述:

Class Description
CCEventMaker 策略 一个简单的制造商策略,根据买入/ sell_up命令下订单.
CCSimpleMaker 策略 一个简单的制造商策略,根据 signal报价双方下单.
Arb1Strategy Arb1Strategy的前腿策略部分.
Arb1Strategy 后腿策略 Arb1Strategy的一部分.
策略将很快在 QuantLib 中发布.

策略详细信息:

CCEventMakerStrategy:

基于 python 脚本命令下订单的简单制造商策略.

Field Description Mandatory
symbol 策略交易的象征.
trade_market 策略在哪个市场交易.
order_size 每个订单的订单大小.
signal 策略使用的 signal.

CCSimpleMakerStrategy:

一个简单的制造商策略,根据 signal在双方报价制造商订单.默认 signal为0.此策略允许用户指定模型,或组合变量集生成 signal,例如LinearModel.

Field Description Mandatory
symbol 策略交易的象征.
trade_market 策略在哪个市场交易.
max_notional 名义上允许的最大头寸.默认值为 1000000.没有
order_notional 每个订单的名义订单.默认值为 max_notional/5. 没有
quote_spread_bps 基于点差的报价.默认值为 5.没有
max_quote_error_bps 报价和订单价格之间允许的误差.默认值为 1.没有
max_quote_signal_diff_bps signal价格和订单价格之间的允许误差. 没有
model 生成 signal的用户定义模型. 没有
use_bps_thold 是否用bps表示阈值,即True:threshold = make_thold * 0.0001,False:threhsold = make_thold * tick_size / midpx.默认为假. 没有
make_thold 您从公允价值下达制造商订单的距离.默认值为 100000.没有
make_mid_pm 用户定义的中间pricing_models,将用作报价的中间价格.

Arb1Strategy:

Arb1Strategy的前腿策略部分.

Field Description Mandatory
symbol 策略交易的象征.
trade_market 策略在哪个市场交易.
risk_id 策略所属的策略组合,用于合并计算出的风险.
use_margin 无论是保证金交易.
account 策略在哪个 account中运行.是
rbda signal方向,当前主要方向是买入或 sell_up.
sell_up sell_up signal.
buy_down 买入 signal.
order_notional 每个订单的 max_notional价值.
max_notional 最大持仓的名义价值.
max_risk 战略投资组合风险敞口的 max_notional价值.

Arb2Strategy:

Arb1Strategy的后腿策略部分.

Field Description Mandatory
symbol 策略交易的象征.
trade_market 策略在哪个市场交易.
risk_id 策略所属的策略组合,用于合并计算出的风险.
use_margin 无论是保证金交易.
account 策略在哪个 account中运行.是
max_notional 最大持仓的名义价值.
max_risk 战略投资组合风险敞口的 max_notional价值.