Criar features e targets
Para usar Machine Learning para escolher a melhor carteira, precisamos gerar features e targets. Nossas features foram criadas no último exercício – as médias móveis exponenciais dos preços. Nossos targets serão as melhores carteiras que encontramos a partir do maior índice de Sharpe.
Vamos usar o método .iterrows() do pandas para obter os pares index, value do DataFrame ewma_monthly. No loop, vamos definir o valor atual de ewma_monthly como nossas features. Em seguida, usaremos o índice do melhor índice de Sharpe (de max_sharpe_idxs) para obter os melhores portfolio_weights para cada mês e definir isso como target.
Este exercicio faz parte do curso
Machine Learning para Finanças em Python
Instruções do exercicio
- Use o método
.iterrows()comewma_monthlypara iterar porindex, valueno loop. - Use o
dateno loop ebest_idxpara indexarportfolio_weightse obter os pesos ideais da carteira com base no melhor índice de Sharpe. - Acrescente o
ewmaàs features.
exercicio interativo prático
Tente este exercicio completando este código de exemplo.
targets, features = [], []
# Create features from price history and targets as ideal portfolio
for date, ewma in ewma_monthly.____:
# Get the index of the best sharpe ratio
best_idx = max_sharpe_idxs[date]
targets.append(portfolio_weights[____][____])
features.append(____) # add ewma to features
targets = np.array(targets)
features = np.array(features)
print(targets[-5:])