我有两个股票(IBM和MSFT)的样本股票价格列表。在找到两只股票的平均股价之后,我想找到两只股票的平均调整后股价。这是通过将各自的股价减去平均股价来完成的。
然后,要找到最合适的线,我需要找到一种计算方法(找到m):
均值调整后的股价IBM = m *均值调整后的股价MSFT
但是,我还停留在返回这两只股票的平均调整后股价清单上。
import statistics
def get_best_fit_line(price_IBM, price_MSFT, averagePrice_IBM, averagePrice_MSFT):
mean_adjusted_IBM = []
mean_adjusted_MSFT = []
for number in price_IBM:
mean_adjusted_IBM.append(number - averagePrice_IBM)
return mean_adjusted_IBM
for number2 in price_MSFT:
mean_adjusted_MSFT.append(number2 - averagePrice_MSFT)
return mean_adjusted_MSFT
price_IBM = [132.45, 130.85, 130.00, 129.55, 130.85, 129.48, 130.51, 130.23, 132.31, 131.78]
averagePrice_IBM = statistics.mean(price_IBM)
price_MSFT = [30.95, 30.96, 30.77, 30.45, 30.66, 30.27, 30.07, 30.35, 30.96, 30.86]
averagePrice_MSFT = statistics.mean(price_MSFT)
IBM, MSFT = get_best_fit_line(price_IBM, price_MSFT, averagePrice_IBM, averagePrice_MSFT)
print('The mean adjusted stock price for IBM is ', IBM)
print('The mean adjusted stock price for MSFT is ', MSFT)
请帮助!
答案 0 :(得分:0)
首先,创建一个对号码列表求平均值的函数
def average(lst):
return sum(lst) / len(lst)
函数,将平均值减去列表中的每个数字
def get_append_avg(price_list, average_val):
mean_adjusted=[]
for number in price_IBM:
mean_adjusted.append(number - average_val)
return mean_adjusted
按如下所示调用每个定义
IBM=get_append_avg(average(price_IBM))
MSFT=get_append_avg(average(averagePrice_MSFT ))