VeighNa量化社区
你的开源社区量化交易平台
shampool's Avatar
Member
离线
22 帖子
声望: 0

导致回测非常不准 因为有很多没有交易量的数据 k线都是完全一样的
我这里用的是美国西部时间, 按道理讲 2021-09-16 13:00:00-00:00 应该是09-16那天最后一根k线。 但是这里一直找到了盘后交易都收盘的数据。 而且ib_gate里已经默认使用了只用常规交易时间段的数据 (倒数第三个参数)

self.client.reqHistoricalData(
            self.reqid,
            ib_contract,
            end_str,
            duration,
            bar_size,
            bar_type,
            0,
            1,
            False,
            []
        )

参考https://www.vnpy.com/forum/topic/6097-guan-yu-ying-tou-jie-kou-de-zhong-da-wen-ti-fan-kui?page=1#pid21592

description

合约手数

具体的order 下单数量不是在on_bar里已经写好了么?为什么这里还好传送一个size呢? 求解

btengine.set_parameters(
    vt_symbol=vt_symbol,
    interval="1m",
    start=test_start,
    end=test_end,
    rate = 0,
    slippage=slippage,
    size=1,
    pricetick=pricetick,
    capital=capital,
)

这样比较好分析策略失败的原因

而且里面的high low值都为0.

这一部分没怎么看懂 请教一下 这是期望看到的么?
description

另外 在BacktestingEngine里
看到这个load_bar并没有做任何事情啊! 他不是应该调用call_back函数么?

    def load_bar(
        self,
        vt_symbol: str,
        days: int,
        interval: Interval,
        callback: Callable,
        use_database: bool
    ):
        """"""
        self.days = days
        self.callback = callback

望指教 谢谢!

而且TWS里没有任何成交记录

description

ModuleNotFoundError: No module named 'vnpy.app.algo_trading.algos'

import os, sys

sys.path.insert(0, ".")
sys.path.insert(0, os.path.join("..", "vnpy"))

from vnpy.event import EventEngine

from vnpy.trader.engine import MainEngine
from vnpy.trader.ui import MainWindow, create_qapp

# from vnpy.ctp import CtpGateway
# from vnpy.ctptest import CtptestGateway

from vnpy.gateway.ib import IbGateway
# from vnpy.gateway.tiger import TigerGateway
# from vnpy.gateway.tap import TapGateway
# from vnpy.gateway.da import DaGateway


# from howtrader.app.cta_strategy import CtaStrategyApp
# from howtrader.app.data_manager import DataManagerApp
# from howtrader.app.data_recorder import DataRecorderApp
# from howtrader.app.algo_trading import AlgoTradingApp
# from howtrader.app.cta_backtester import CtaBacktesterApp
# from howtrader.app.risk_manager import RiskManagerApp
# from howtrader.app.spread_trading import SpreadTradingApp


from vnpy.app.cta_strategy import CtaStrategyApp

from vnpy.app.cta_backtester import CtaBacktesterApp
from vnpy.app.spread_trading import SpreadTradingApp
from vnpy.app.algo_trading import AlgoTradingApp
# from vnpy.app.option_master import OptionMasterApp
from vnpy.app.portfolio_strategy import PortfolioStrategyApp
from vnpy.app.script_trader import ScriptTraderApp
# from vnpy.app.market_radar import MarketRadarApp
# from vnpy.chartwizard import ChartWizardApp
# from vnpy.app.rpc_service import RpcServiceApp
# from vnpy.app.excel_rtd import ExcelRtdApp
from vnpy.app.data_manager  import DataManagerApp
from vnpy.app.data_recorder import DataRecorderApp
from vnpy.app.risk_manager import RiskManagerApp
from vnpy.app.spread_trading import SpreadTradingApp

from vnpy.app.web_trader import WebTraderApp
from vnpy.app.portfolio_manager import PortfolioManagerApp
from vnpy.app.paper_account import PaperAccountApp


def main():
    """"""
    qapp = create_qapp()
    qapp = create_qapp()

    event_engine = EventEngine()

    main_engine = MainEngine(event_engine)

    main_engine.add_gateway(IbGateway)
    main_engine.add_app(CtaStrategyApp)
    main_engine.add_app(CtaBacktesterApp)
    main_engine.add_app(DataManagerApp)
    main_engine.add_app(AlgoTradingApp)
    main_engine.add_app(DataRecorderApp)
    main_engine.add_app(RiskManagerApp)
    main_engine.add_app(SpreadTradingApp)

    main_window = MainWindow(main_engine, event_engine)
    main_window.showMaximized()


    # main_engine.add_gateway(CtptestGateway)
    # main_engine.add_gateway(MiniGateway)
    # main_engine.add_gateway(MinitestGateway)
    # main_engine.add_gateway(FemasGateway)
    # main_engine.add_gateway(SoptGateway)
    # main_engine.add_gateway(SopttestGateway)
    # main_engine.add_gateway(SecGateway)    
    # main_engine.add_gateway(UftGateway)
    # main_engine.add_gateway(EsunnyGateway)
    # main_engine.add_gateway(HsoptionGateway)
    # main_engine.add_gateway(XtpGateway)
    # main_engine.add_gateway(ToraStockGateway)
    # main_engine.add_gateway(ToraOptionGateway)
    # main_engine.add_gateway(OesGateway)
    # main_engine.add_gateway(ComstarGateway)
    # main_engine.add_gateway(FutuGateway)
    # main_engine.add_gateway(IbGateway)
    # main_engine.add_gateway(TigerGateway)
    # main_engine.add_gateway(TapGateway)
    # main_engine.add_gateway(DaGateway)

    # main_engine.add_app(CtaStrategyApp)
    # main_engine.add_app(CtaBacktesterApp)
    # main_engine.add_app(SpreadTradingApp)
    # main_engine.add_app(AlgoTradingApp)
    # main_engine.add_app(OptionMasterApp)
    # main_engine.add_app(PortfolioStrategyApp)
    # main_engine.add_app(ScriptTraderApp)
    # main_engine.add_app(MarketRadarApp)
    # main_engine.add_app(ChartWizardApp)
    # main_engine.add_app(RpcServiceApp)
    # main_engine.add_app(ExcelRtdApp)
    # main_engine.add_app(DataManagerApp)
    # main_engine.add_app(DataRecorderApp)
    # main_engine.add_app(RiskManagerApp)
    # main_engine.add_app(WebTraderApp)
    # main_engine.add_app(PortfolioManagerApp)
    # main_engine.add_app(PaperAccountApp)

    main_window = MainWindow(main_engine, event_engine)
    main_window.showMaximized()

    qapp.exec()


if __name__ == "__main__":
    main()

回测的时候 发现最大回测都百分之负两百了,最后居然还盈利了。这早爆仓了吧。感觉不太合理

发现new_bar 函数调用这个self.update_daily_close(bar.close_price)了 能不能自己指定interval呢?

2019-10-19 10:39:37.836007 开始加载历史数据
2019-10-19 10:39:38.160493 加载进度:########## [100%]
2019-10-19 10:39:38.160539 历史数据加载完成,数据量:2880
2019-10-19 10:39:38.196349 策略初始化完成
2019-10-19 10:39:38.196404 开始回放历史数据
2019-10-19 10:39:38.196462 历史数据回放结束
2019-10-19 10:39:38.196476 开始计算逐日盯市盈亏
2019-10-19 10:39:38.196484 成交记录为空,无法计算
2019-10-19 10:39:38.196493 开始计算策略统计指标
2019-10-19 10:39:38.196500 ------------------------------
2019-10-19 10:39:38.196507 首个交易日:
2019-10-19 10:39:38.196513 最后交易日:
2019-10-19 10:39:38.196520 总交易日: 0
2019-10-19 10:39:38.196526 盈利交易日: 0
2019-10-19 10:39:38.196532 亏损交易日: 0
2019-10-19 10:39:38.196544 起始资金: 1,000,000.00
2019-10-19 10:39:38.196552 结束资金: 0.00
2019-10-19 10:39:38.196560 总收益率: 0.00%
2019-10-19 10:39:38.196567 年化收益: 0.00%
2019-10-19 10:39:38.196574 最大回撤: 0.00
2019-10-19 10:39:38.196581 百分比最大回撤: 0.00%
2019-10-19 10:39:38.196588 总盈亏: 0.00
2019-10-19 10:39:38.196595 总手续费: 0.00
2019-10-19 10:39:38.196602 总滑点: 0.00
2019-10-19 10:39:38.196609 总成交金额: 0.00
2019-10-19 10:39:38.196784 总成交笔数: 0
2019-10-19 10:39:38.196806 日均盈亏: 0.00
2019-10-19 10:39:38.196815 日均手续费: 0.00
2019-10-19 10:39:38.196822 日均滑点: 0.00
2019-10-19 10:39:38.196829 日均成交金额: 0.00
2019-10-19 10:39:38.196836 日均成交笔数: 0
2019-10-19 10:39:38.196842 日均收益率: 0.00%
2019-10-19 10:39:38.196849 收益标准差: 0.00%
2019-10-19 10:39:38.196856 Sharpe Ratio: 0.00
2019-10-19 10:39:38.196863 收益回撤比: 0.00

需要改哪些脚本 运行哪个文件呢 谢谢!

据说可以加速到C的速度

© 2015-2022 微信 18391752892
备案服务号:沪ICP备18006526号

沪公网安备 31011502017034号

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