3 分钟快速生成代码
输入想法,AI 即刻生成可运行代码
在聚宽(JoinQuant)及中国A股市场的交易规则中,可用资金(Available Cash)和可取资金(Transferable Cash)是两个不同的概念,主要区别在于资金的用途和结算周期(T+1制度)。
以下是详细的区别说明:
可用资金 (Available Cash)
context.portfolio.available_cash可取资金 (Transferable Cash)
context.portfolio.transferable_cash两者出现差异的主要原因是中国A股市场实行的 T+1 资金交收制度:
假设您的账户初始状态为:现金 0 元,持有市值 10,000 元的股票 A。
周一上午 10:00,您卖出了全部股票 A,成交金额为 10,000 元。
周二开盘前(资金完成交收)。
一般情况下,两者的关系如下:
$$ \text{可用资金} = \text{可取资金} + \text{当日卖出证券所得资金} $$
Q: 在编写策略时,下单函数应该使用哪个资金属性?
A: 在编写买入逻辑时,应使用 可用资金 (context.portfolio.available_cash) 来判断是否有足够的钱进行购买。
Q: 为什么我的可用资金大于可取资金?
A: 这通常是因为您在当日进行了卖出操作。卖出股票回笼的资金当天可用(买股)但不可取(提现),导致可用资金大于可取资金。
Q: 模拟交易中的出入金函数 inout_cash 影响哪个资金?
A: inout_cash 模拟的是银证转账。如果是入金(正数),可用资金和可取资金都会增加;如果是出金(负数),则必须有足够的可取资金才能操作成功。