VeighNa量化社区
你的开源社区量化交易平台 | vn.py | vnpy
Member
avatar
加入于:
帖子: 10
声望: 0

请教一下,如何在策略启动的时候,获取当前账户(或者模拟账户的持仓),并用这个持仓初始化策略的当前持仓?
或者说,一般每天开盘前启动策略,如何让策略在现有的仓位下开始运行?而不是重新零仓位开始?

另外,在回测的场景下,我尝试了一下,用一个参数来让用户在初始化的时候输入当前持仓,但每日盈亏的统计里没有体现出这个持仓,(这个是否是因为calculate_result函数中的start_pos固定成了0?):

def calculate_result(self) -> DataFrame:
        """"""
        self.output("开始计算逐日盯市盈亏")

        if not self.trades:
            self.output("回测成交记录为空")

        # Add trade data into daily reuslt.
        for trade in self.trades.values():
            d: date = trade.datetime.date()
            daily_result: DailyResult = self.daily_results[d]
            daily_result.add_trade(trade)

        # Calculate daily result by iteration.
        pre_close = 0
        start_pos = 0
Member
avatar
加入于:
帖子: 5282
声望: 318

实盘的时候,策略初始化会读取之前的缓存文件里保存的数据,项目文档有介绍的https://www.vnpy.com/docs/cn/community/app/cta_strategy.html

© 2015-2022 上海韦纳软件科技有限公司
备案服务号:沪ICP备18006526号

沪公网安备 31011502017034号

【用户协议】
【隐私政策】
【免责条款】