ricequant / rqalpha

A extendable, replaceable Python algorithmic backtest && trading framework supporting multiple securities
http://rqalpha.io
Other
5.38k stars 1.61k forks source link

允许卖空(short-stock选项)是否已取消?相应文档存在混乱情况 #584

Closed walkacross closed 3 years ago

walkacross commented 3 years ago

提 ISSUE 须知

hi, 您好, 在sys_risk中以及其他相应代码中,无法找到--short-stock可设置的位置, 请问,允许卖空是否已取消? 是在哪个版本之后取消的呢, 以及针对卖空rqalpha后续的计划是怎样的呢?(目前很多下单api不支持负数)

影响文档存在混乱

在官方文档中,显示 --short-stock 属于 sys_risk 在rqalpha run -h,中显示属于sys_simulation

在以run_file的形式,运行做空, 该如何设置? 可否在某模块下显式地设置 short-stock,而不是以cli的形式?

__config__ = {
    "base": {
        "start_date": "2019-05-13",
        "end_date": "2019-05-14",
        "frequency": "1d",
        "matching_type": "current_bar",
        "benchmark": None,
        "accounts": {
            "stock": 1000000
        }
    },
    "extra": {
        "log_level": "error",
    },
    "mod": {
        "sys_progress": {
            "enabled": True,
            "show": True,
        },

        "sys_analyser": {
      "enabled": True,
      "plot": True,
    },

    },
}

run_func(init=init, before_trading=before_trading, handle_bar=handle_bar,after_trading=after_trading, config=__config__)

1. RQAlpha的版本

4.2.4

2. Python的版本

python3.9

3. 是Windows/Linux/MacOS or others?

4. 您出现问题对应的源码/或者能复现问题的简易代码 以及对应的配置

In rqalpha_mod_sys_accounts/api/api_stock.py

side, position_effect = (SIDE.BUY, POSITION_EFFECT.OPEN) if amount > 0 else (SIDE.SELL, POSITION_EFFECT.CLOSE)

in utils/init.py

def get_position_direction(side,   position_effect):
  if position_effect is None:
    return POSITION_DIRECTION.LONG
  if side == SIDE.CONVERT_STOCK:
    return POSITION_DIRECTION.LONG
  if (side == SIDE.BUY and position_effect   == POSITION_EFFECT.OPEN) or (side   == SIDE.SELL and position_effect   in (
   POSITION_EFFECT.CLOSE, POSITION_EFFECT.CLOSE_TODAY, POSITION_EFFECT.EXERCISE)):
    return POSITION_DIRECTION.LONG
  return POSITION_DIRECTION.SHORT

似乎决定了, 股票的下单不可能是POSITION_DIRECTION.SHORT ? 

5. 您出现的错误堆栈日志信息

Cuizi7 commented 3 years ago

感谢提醒,该选项未取消,在 sys_accounts 中,文档和命令行help信息已在 develop 分支修复。 develop 分支文档可查看 https://rqalpha.readthedocs.io/zh_CN/develop/intro/run_algorithm.html#mod-option。 sys_accounts 的配置项信息可查看 https://github.com/ricequant/rqalpha/tree/master/rqalpha/mod/rqalpha_mod_sys_accounts