快速获取最新股票相关数据,并使用数据分析进行数据清洗,获取有效信息

关键性python数据包的安装

pip3 install tushare 

import tushare as ts股票代码为code参数,start为收集该股票数据的开始日期df = ts.get_k_data(code='600519', start='2000-01-01')接下来的步骤由各人所需决定,详情可以看上一篇关于pandas中数据的操作。小案列如下:假如我从2010年1月1日开始,每月第一个交易日买入1手股票,每年最后一个交易日卖出所有股票,到今天为止,我的收益如何? 
import pandas as pd
from pandas import Series, DataFrame
import numpy as np
import tushare as ts
# 使用tushare包获取某股票的历史行情数据
df = ts.get_k_data(code='600519', start='2010-01-01')
df.to_csv('./600519.csv')
# 读取文件数据
data = pd.read_csv('./600519.csv', index_col='date', parse_dates=['date'])
data.drop(labels='Unnamed: 0', axis=1, inplace=True)
price_last = data['open'][-1]  # 最后一天的开盘价格
df = data['2010':'2019']  # 剔除首尾无用的数据
# Pandas提供了resample函数用便捷的方式对时间序列进行重彩样,根据时间粒度的变大或者变小分为降采样和升采样
df_monthly = df.resample('M').first() # 获取每个月第一个交易日的开盘价格
df_yearly = df.resample('Y').last()[:-1]  # 去除最后一年

cost_money = 0  # 初始资金
hold = 0  # 每年持有的股票
for year in range(2010, 2020):
    cost_money -= df_monthly.loc[str(year)]['open'].sum() * 100
    hold += len(df_monthly[str(year)]["open"]) * 100
    if year != 2019:
        cost_money += df_yearly.loc[str(year)]["close"][0] * hold
        hold = 0  # 每年持有的股票
cost_money += hold * price_last
print(cost_money)

猜你喜欢

转载自www.cnblogs.com/caiwenjun/p/11779033.html