账户以及风险管理
账户和风险管理组件是一个非常有用的实用程序,可让您访问账户级别的现金、头寸、名义以及 pnl。账户在 BaseStrategy 中初始化,并在订单执行时相应更新。
首先,您需要在配置文件中添加"accounts"和"risk_formula"节点,其中"accounts"可以有多个"risk_formula",每个"risk_formula"可以包含多个具有自己权重的符号。其次,您可以在策略中为您的投资组合和风险管理指定(可选)"risk_id"、"max_notional"、"max_portfolio_notional"和"max_risk"。
下面是跨交易所套利的例子:
{
"instance": {
},
"risk_formulas": [
["Port_Risk_0", ["RiskFormula", {"components": [[["BTCBUSD", "BINANCE" ], 1.0], [["BTCUSDSWAP", "FTX_SWAP"], 1.0]]}]],
["Port_Risk_1", ["RiskFormula", {"components": [[["ETHBUSD", "BINANCE"], 1.0], [["ETHUSDSWAP", "FTX_SWAP"], 1.0]]}]]
],
"accounts": [
[10001, ["Account", {"risk_formulas": ["Port_Risk_0", "Port_Risk_1"], "id":10001}]
],
"symbol_info":{
},
"symbols":[
]
[
],
"pricing_models":[
],
"variables":[
],
"models":[
],
"strategies": [
["BTCBUSD.BINANCE", ["CCArbLeg1Strategy", {"symbol": "BTCBUSD", "trade_market": "BINANCE", "account": 10001, "risk_id": 0, "max_notional ": 2500, "max_portfolio_notional": 6000, "max_risk": 2000}]],
["BTCUSDSWAP.FTX_SWAP", ["CCArbLeg2Strategy", {"symbol": "BTCUSDSWAP", "trade_market": "FTX_SWAP", "account ": 10001, "risk_id": 0, "max_notional": 2500, "max_portfolio_notional": 6000, "max_risk": 2000}]],
["ETHBUSD.BINANCE", ["CCArbLeg1Strategy", {"symbol":"ETHBUSD","trade_market":"BINANCE","account":10001,"risk_id":1,"max_notional":2500,"max_portfolio_notional":6000,"max_risk":2000}]],
["ETHUSDSWAP.FTX_SWAP",["CCArbLeg2Strategy",{"symbol":"ETHUSDSWAP","trade_market":"FTX_SWAP","account":10001,"risk_id":1,"max_notional":2500,"max_portfolio_notional" :6000,"max_risk":2000}]]
]
}