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


    关键性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)
  • 相关阅读:
    指令
    linux学习之多高并发服务器篇(三)
    linux学习之高并发服务器篇(二)
    linux学习之多高并发服务器篇(一)
    Linux学习之socket编程(二)
    Linux学习之socket编程(一)
    myeclipse中如何修改Servlet模板_day01
    Properties的使用以及配置文件值的获取
    Sql_Server中如何判断表中某字段是否存在
    微博开发流程-01
  • 原文地址:https://www.cnblogs.com/caiwenjun/p/11779033.html
Copyright © 2020-2023  润新知