Pythoner集中营编程笔记Python之旅

为你的股票绘制趋势图

2019-02-16  本文已影响13人  老瓦在霸都

手里有一点点公司的股票, 拿不准在什么时机抛售, 程序员也没时间天天盯着看,不如动手写个小程序, 把股票趋势每天早上发到邮箱里,用 python 的 pandas, matplotlib 写起来很容易, 二十几行代码搞定。

准备环境

python3 -m venv venv
source ./venv/bin/activate
pip install panda
pip install pandas_datareader
pip install matplotlib

代码如下

绘制 2019 年到今天2019-02-15 的我司 ( Cisco ) 的股票趋势 ( open:开盘价, close: 收盘价, high 最高价:, low: 最低价,单位为美元)

import matplotlib.pyplot as plt
import pandas as pd
import pandas_datareader.data as web
import matplotlib

import matplotlib.pyplot as plt

fig = matplotlib.pyplot.gcf()
fig.set_size_inches(18.5, 10.5)
# collect data for Cisco from 2018-02-15 to 2018-02-15
inc = 'CSCO'
start = '2019-01-01'
end = '2019-02-15'
df = web.DataReader(name=inc, data_source='iex', start=start, end=end)
print(df)
plt.style.use('seaborn-whitegrid')
plt.xticks(rotation=30)
plt.plot(df.index, df['open'], label='open', marker='o', linestyle=':', linewidth=1, markersize=3, color='gray')
plt.plot(df.index, df['high'], label='high', marker='o', linestyle=':', linewidth=1, markersize=3, color='green')
plt.plot(df.index, df['low'], label='low', marker='o', linestyle=':', linewidth=1, markersize=3, color='blue')
plt.plot(df.index, df['close'], label='close', marker='o', linestyle='-', linewidth=2, markersize=6, color='red')

for x,y in zip(df.index,df['close']):
    plt.text(x, y+0.3, '%.2f' % y, ha='center', va= 'bottom', color='red')
    
plt.legend()
plt.show(block=True)

图表如下

看来最近股价涨势不错。

上一篇下一篇

猜你喜欢

热点阅读