量化双均线策略:(三)统计策略结果

本文介绍了量化交易策略的统计指标,包括总收益、年化收益、夏普比率、平均每日涨幅和最大回撤。通过读取CSV文件计算策略结果,夏普比率考虑了收益率与风险的平衡,波动率需按相同周期计算。最大回撤使用pd.Series.expanding().max()函数计算。以代码列表['002415', '002416', '000333']进行回测,涉及海康威视、爱施德和美的集团,初始资金100000,回测期间从2014年至2017年,结果显示2015年股灾的最大回撤控制得较好。" 79282912,6675555,C语言处理时间:获取秒、毫秒、纳秒,"['C语言', '时间编程']

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

统计指标包括:总收益,年化收益,夏普比率,平均每日涨幅,最大回撤。

基于上篇Strategy类run_simulation后将res_df存储到本地的一个csv文件中,然后读取csv后计算这些统计指标,具体实现如下。

    def annual_return(df):
        change = df['capital_market_value'].iloc[-1]/df['capital_market_value'].iloc[0]-1
        annual = pow(change+1, 250/len(df)) - 1
        print('总收益为%f,年化收益为%f\n' % (change, annual))

    def sharp_ratio(df):
        from math import sqrt
        rf = 0.0284
        change = df['capital_market_value'].iloc[-1] / df['capital_market_value'].iloc[0]
        annual = pow(change, 250 / len(df)) - 1
        volatility = df['profolio_daily_return'].std() * sqrt(250)
        sharp = (annual - rf)/volatility
        print('sharp ratio is %f\n'%sharp)

    def average_change(df):
        ave = df['profolio_daily_return'].mean()
        print('平均每日涨幅为%f'%ave)

    def max_dramdown(df):
        df['max_value_before_today'] = pd.Series.expanding(df['capital_market_value']).max()
        df['drawdown
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值