MPT için Machine Learning

Python ile Finans için Machine Learning

Nathan George

Data Science Professor

Eğitim ve test setlerini oluştur

# eğitim ve test özelliklerini oluştur
train_size = int(0.8 * features.shape[0])
train_features = features[:train_size]
train_targets = targets[:train_size]

test_features = features[train_size:]
test_targets = targets[train_size:]
print(features.shape)
(230, 3)
Python ile Finans için Machine Learning

Modeli eğit

from sklearn.ensemble import RandomForestRegressor

# modeli uydur ve eğitim/test skorlarına bak
rfr = RandomForestRegressor(n_estimators=300, random_state=42)
rfr.fit(train_features, train_targets)

print(rfr.score(train_features, train_targets)) print(rfr.score(test_features, test_targets))
0.8382262317599827
0.09504859048985377
Python ile Finans için Machine Learning

Model performansını değerlendir

# modelden eğitim ve test için tahminleri al
test_predictions = rfr.predict(test_features)

# RF tahminlerimizin ve QQQ getirilerinin toplam getirilerini hesapla ve çiz test_returns = np.sum(returns_monthly.iloc[train_size:] * test_predictions, axis=1)
plt.plot(test_returns, label='algo') plt.plot(returns_monthly['QQQ'].iloc[train_size:], label='QQQ') plt.legend() plt.show()
Python ile Finans için Machine Learning

modelin aylık getirileri

Python ile Finans için Machine Learning
cash = 1000
algo_cash = [cash]

for r in test_returns: cash *= 1 + r algo_cash.append(cash)
# QQQ için performansı hesapla cash = 1000 # nakdi sıfırla qqq_cash = [cash] for r in returns_monthly['QQQ'].iloc[train_size:]: cash *= 1 + r qqq_cash.append(cash)
print('algo returns:', (algo_cash[-1] - algo_cash[0]) / algo_cash[0]) print('QQQ returns:', (qqq_cash[-1] - qqq_cash[0]) / qqq_cash[0])
algo returns: 0.5009443507049591
QQQ returns: 0.5186775933696601
Python ile Finans için Machine Learning

Sonuçları görselleştir

plt.plot(algo_cash, label='algo')
plt.plot(qqq_cash, label='QQQ')
plt.ylabel('$')
plt.legend()  # göstergeyi göster
plt.show()

yatırım simülasyonu

Python ile Finans için Machine Learning

Modelini eğit!

Python ile Finans için Machine Learning

Preparing Video For Download...