Python ile Finansal Alım Satım
Chelsea Yang
Data Science Instructor
# Get all backtest stats resInfo = bt_result.statsprint(resInfo.index)
Index(['start', 'end', 'rf', 'total_return', 'cagr', 'max_drawdown', 'calmar',
'mtd', 'three_month', 'six_month', 'ytd', 'one_year', 'three_year',
'five_year', 'ten_year', 'incep', 'daily_sharpe', 'daily_sortino',
'daily_mean', 'daily_vol', 'daily_skew', 'daily_kurt', 'best_day',
'worst_day', 'monthly_sharpe', 'monthly_sortino', 'monthly_mean',
'monthly_vol', 'monthly_skew', 'monthly_kurt', 'best_month',
'worst_month', 'yearly_sharpe', 'yearly_sortino', 'yearly_mean',
'yearly_vol', 'yearly_skew', 'yearly_kurt', 'best_year', 'worst_year',
'avg_drawdown', 'avg_drawdown_days', 'avg_up_month', 'avg_down_month',
'win_year_perc', 'twelve_month_win_perc'],
dtype='object')
$ Getiri = (V_e - V_b)/ V_b $
$V_e$: bitiş değeri
$V_v$: başlangıç değeri
# Günlük, aylık ve yıllık getirileri alın
print('Günlük getiri: %.4f'% resInfo.loc['daily_mean'])
print('Aylık getiri: %.4f'% resInfo.loc['monthly_mean'])
print('Yıllık getiri: %.4f'% resInfo.loc['yearly_mean'])
Günlük getiri: 0.1966
Aylık getiri: 0.2207
Yıllık getiri: 0.3328
$ Bileşik yıllık büyüme oranı = (V_f / V_i)^\frac{1}{n} -1 $
$V_f$: son değer
$V_i$: ilk değer
$n$: yıl sayısı
# Bileşik yıllık büyüme oranını alın
print('Bileşik yıllık büyüme oranı: %.4f'% resInfo.loc['cagr'])
Bileşik yıllık büyüme oranı: 0.1855
# Haftalık getiri histogramını çizin
bt_result.plot_histograms(bins=50, freq = 'w')

# Geriye dönük getirileri alın
lookback_returns = bt_result.display_lookback_returns()
print(lookback_returns)
Strategy1 Strategy2
mtd 3.30% -0.03%
3m 0.68% -2.15%
6m 8.11% 8.32%
ytd 28.08% 10.46%
1y 35.20% 17.09%
3y 11.48% 11.01%
5y 9.35% 9.48%
10y 9.35% 9.48%
incep 9.35% 9.48%
Python ile Finansal Alım Satım