需求:股票分析
使用tushare包获取某股票的历史行情数据。
输出该股票所有收盘比开盘上涨3%以上的日期。
输出该股票所有开盘比前日收盘跌幅超过2%的日期。
假如我从2010年1月1日开始,每月第一个交易日买入1手股票,每年最后一个交易日卖出所有股票,到今天为止,我的收益如何?
tushare财经数据接口包
pip install tushare
import tushare as ts
import pandas as pd
from pandas import DataFrame,Series
import numpy as np
#获取某只股票的历史行情数据
#code:字符串形式的股票代码
df = ts.get_k_data(code='600519',start='2000-01-01')
df
#将互联网上获取的股票数据存储到本地
df.to_csv('./maotai.csv')#调用to_xxx方法将df中的数据写入到本地进行存储
#将本地存储的数据读入到df
df = pd.read_csv('./maotai.csv')
df.head()
Unnamed: 0 date open close high low volume code
0 0 2001-08-27 5.392 5.554 5.902 5.132 406318.00 600519
1 1 2001-08-28 5.467 5.759 5.781 5.407 129647.79 600519
2 2 2001-08-29 5.777 5.684 5.781 5.640 53252.75 600519
3 3 2001-08-30 5.668 5.796 5.860 5.624 48013.06 600519
4 4 2001-08-31 5.804 5.782 5.877 5.749 23231.48 600519
#需要对读取出来的数据进行相关的处理
#删除df中指定的一列
df.drop(labels='Unnamed: 0',axis=1,inplace=True)
#查看每一列的数据类型
df.info()
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 4406 entries, 0 to 4405
Data columns (total 7 columns):
date 4406 non-null object
open 4406 non-null float64
close 4406 non-null float64
high 4406 non-null float64
low 4406 non-null float64
volume 4406 non-null float64
code 4406 non-null int64
dtypes: float64(5), int64(1), object(1)
memory usage: 241.0+ KB
#将date列转为时间序列类型
df['date'] = pd.to_datetime(df['date'])
#将date列转为时间序列类型
df['date'] = pd.to_datetime(df['date'])
df.info()
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 4406 entries, 0 to 4405
Data columns (total 7 columns):
date 4406 non-null datetime64[ns]
open 4406 non-null float64
close 4406 non-null float64
high 4406 non-null float64
low 4406 non-null float64
volume 4406 non-null float64
code 4406 non-null int64
dtypes: datetime64[ns](1), float64(5), int64(1)
memory usage: 241.0 KB
#将date列作为源数据的行索引
df.set_index('date',inplace=True)
df.head()
open close high low volume code
数据分析3
最新推荐文章于 2023-12-20 14:47:24 发布