交作业

来源: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()

http://img.mukewang.com/szimg/60febfd1091f3e9306060473.jpghttp://img.mukewang.com/szimg/60febfe009018c0f05990444.jpg

写回答

2回答

奉化奔腾JAVA

2022-03-30

请问根据股票名称,获取股票代码的函数是如何写的?

请看下我的函数: https://coding.imooc.com/learn/questiondetail/4daeRY4JKEp6nWEp.html

0
0

DeltaF

2021-07-31

棒棒的,祝学习愉快

0
0

程序员理财课 Python量化交易系统实战

打造一个自动交易平台,新手也能提升理财收益

1986 学习 · 405 问题

查看课程

相似问题

交作业

回答 2

交作业

回答 1

交作业

回答 2

交作业

回答 1