PTrade中如何获取当前可用现金?
问题描述
解决方案
在PTrade量化交易平台中,您可以通过上下文对象 context 来获取当前账户的可用现金。
获取方法
使用 context.portfolio.cash 即可获取当前可用资金(不包含冻结资金)。
代码示例
以下是一个在 handle_data 中获取可用现金并进行全仓买入的简单示例:
def initialize(context):
g.security = '600570.SS'
set_universe(g.security)
def handle_data(context, data):
# 获取当前可用现金
available_cash = context.portfolio.cash
log.info('当前可用现金为:%.2f' % available_cash)
# 获取股票最新价
current_price = data[g.security]['close']
# 如果现金足够买入一手(100股)
if available_cash >= current_price * 100:
# 全仓买入
order_value(g.security, available_cash)
log.info('全仓买入 %s' % g.security)
注意事项
context.portfolio.cash返回的是浮点数(float),表示当前账户中可以用于买入股票的资金总额。- 在进行委托下单(如
order_value)时,系统会自动根据该可用资金进行计算,避免超额委托。 - 该属性在回测和交易模块中均可使用。