要选择两个股票进行模拟并找到最优投资决策,可以按照以下步骤进行:

  1. 导入所需的库和模块:
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
import datetime
import yfinance as yf
from pandas_datareader import data as pdr
  1. 设置股票代码和日期范围:
stock1 = 'AAPL'
stock2 = 'MSFT'
start_date = datetime.datetime(2010, 1, 1)
end_date = datetime.datetime(2020, 12, 31)
  1. 下载股票数据:
yf.pdr_override()
data1 = pdr.get_data_yahoo(stock1, start=start_date, end=end_date)
data2 = pdr.get_data_yahoo(stock2, start=start_date, end=end_date)
  1. 对股票数据进行预处理和可视化:
data1['Log_Return'] = np.log(data1['Adj Close'] / data1['Adj Close'].shift(1))
data2['Log_Return'] = np.log(data2['Adj Close'] / data2['Adj Close'].shift(1))

plt.figure(figsize=(10, 6))
plt.plot(data1['Log_Return'], label=stock1)
plt.plot(data2['Log_Return'], label=stock2)
plt.legend()
plt.title('Log Returns of ' + stock1 + ' and ' + stock2)
plt.xlabel('Date')
plt.ylabel('Log Return')
plt.show()
  1. 计算相关性并进行投资决策:
correlation = data1['Log_Return'].corr(data2['Log_Return'])
if correlation > 0.7:
    print('两个股票的相关性很高,可以选择进行对冲交易。')
elif correlation < 0.3:
    print('两个股票的相关性很低,可以选择进行多样化投资。')
else:
    print('两个股票的相关性适中,可以选择根据其他因素进行投资决策。')

以上代码将下载给定股票的数据,并计算其对数收益率。然后,通过绘制对数收益率的图表,可以观察股票的波动情况。最后,通过计算相关性,可以根据相关性的程度来决定最优投资策略。


原文地址: https://www.cveoy.top/t/topic/mlPg 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录