交作业
来源:3-12 【实战】:比较3只股票的夏普指数

慕粉17780521093
2021-07-26
import pandas as pd import datetime import data.stock as st import data.strategy.base as stbase import matplotlib.pyplot as plt # 获取三只股票的数据代码 names = ['亿纬锂能', '比亚迪', '赣锋锂业'] codes = [] for name in names: codes.append(st.get_single_stock_code(name)) sharp_d = [] sharp_y = [] # 获取三只股票的price数据,并计算三只股票的夏普比率,将其与股票代码成对存放在一个series中 # 获取price数据的同时,画出close的折线图,并标明图例 for code in codes: data = st.get_single_price(code, '2019-01-01', datetime.date.today(), 'daily') plt.plot(data.index, data['close'], label=code) # 这句用data['close'].plot(label=code)效果相同 plt.xticks(rotation=30) daily_sp, yearly_sp = stbase.calculate_sharpe(data) sharp_d.append([code, daily_sp]) sharp_y.append([code, yearly_sp]) plt.legend() # 画出夏普比率柱状图 sharp_d = pd.DataFrame(sharp_d, columns=['code', 'sharp_d']) # 将日夏普比率保存为df sharp_y = pd.DataFrame(sharp_y, columns=['code', 'sharp_y']) # 将年夏普比率保存为df # 将code字段设置成日夏普比率和年夏普比率的index sharp_d = sharp_d.set_index('code') sharp_y = sharp_y.set_index('code') # 将日夏普比率和年夏普比率数据合并到一个dataframe变量sharp中 sharp = sharp_d sharp['sharp_y'] = sharp_y['sharp_y'] # 设置图形名称并打印 sharp.plot.bar(title='sharp') plt.xticks(rotation=0) plt.show()
写回答
2回答
-
奉化奔腾JAVA
2022-03-30
请问根据股票名称,获取股票代码的函数是如何写的?
请看下我的函数: https://coding.imooc.com/learn/questiondetail/4daeRY4JKEp6nWEp.html
00 -
DeltaF
2021-07-31
棒棒的,祝学习愉快
00