Stock_analysis
使用data.DataReader(name=,data_source=,start,end)
对stock数据进行爬取;
此时df存入apple股票的数据,从2016.3.1到2016.3.10;
import requests
from pandas_datareader import data
import datetime
from bokeh.plotting import figure,show,output_file
start=datetime.datetime(2016,3,1)
end=datetime.datetime(2016,3,10)
df=data.DataReader(name="AAPL",data_source="yahoo",start=start,end=end) #从雅虎找apple #传入datetime type
#存入df
优化df(dataframe)
(1)加入status——涨、跌、平
(2)加入Middle——方块的中心位置
(3)加入Height——方块的高度
def inc_dec(c,o): #判断状态
if c > o:
value="Increase"
elif c<o:
value="Decrease"
else:
value="Equal"
return value
df["Status"]=[inc_dec(c,o) for c,o in zip(df.Close,df.Open)] #zip得到每个close和open 传入函数得到data
df["Middle"]=(df.Open+df.Close)/2
df["Height"]=abs(df.Open-df.Close)
Bokeh制作figure——制作candlestick chart
(1)设置横轴的类型为datetime——p = figure(x_axis_type='datetime',width=1000,height=300)
(2)figure.rect传入的参数(x,y,width,height)
(3)传入类似list参数时,需要对每个参数进行filter限制——df.Middle[df.Status=="Increase"]
p = figure(x_axis_type='datetime',width=1000,height=<