Skip to content

abnormal yield when backtesting with vwap #396

@ke-fan

Description

@ke-fan

❓ Questions and Help

I used wind's market data, (open close low high vwap) are adjusted in a post-weighted way, factor = adjusted_price / original_price, when I am using the close price for backtesting, everything looks normal, daily return are less than 10%, but when I am using vwap for backtesting, the results will become strange, some daily returns are greater than 10%

backtesting_with_vwap

I checked the backtest detail: positions = recorder.load_object("portfolio_analysis/positions_normal.pkl")
{Timestamp('2020-07-02 00:00:00'): {'cash': 100000000, 'today_account_value': 100000000}, Timestamp('2020-07-03 00:00:00'): {'cash': 96198100.0, 'today_account_value': 144327301.40487388, 'SZ000661': {'count': 1, 'amount': 4684.182645143626, 'price': 3047.1298828125, 'weight': 0.09889544649995681}, 'SH600340': {'count': 1, 'amount': 76828.21035849101, 'price': 440.6700134277344, 'weight': 0.23457716011283875}}, ......

And found some abnormal data:
It seems like the today_account_value is calculate by close * amount:
96198100.0 + 4684.1826451436263047.1298828125 + 76828.21035849101440.6700134277344 - 144327301.40487388

And buy stock with vwap/factor:
96198100.0 + 4684.1826451436263014.948486/7.432931 + 76828.21035849101439.967285/17.790472 - 100000000

market data of ['SZ000661', 'SH600340']:
market_data

I want to know what I used wrong...
Thanks for your reply~

Metadata

Metadata

Assignees

No one assigned

    Labels

    questionFurther information is requestedstale

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions