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

关键性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)

原文地址:https://www.cnblogs.com/caiwenjun/p/11779033.html

时间: 2024-10-31 18:46:27

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

python分别使用多线程和多进程获取所有股票实时数据

python分别使用多线程和多进程获取所有股票实时数据 前一天简单介绍了python怎样获取历史数据和实时分笔数据,那么如果要获取所有上市公司的实时分笔数据,应该怎么做呢? 肯定有人想的是,用一个列表存储所有上市公司的股票代号,然后无限循环获取不就得了吗? 现在深市和沪市的股票一共有3400多只,如果你真这样做的话,获取一次所有股票的实时数据需要十几二十秒的时间,甚至更多,而且非常容易因为等待超时而使程序挂掉,如果你的模型对实时数据的质量要求非常高,这肯定是不行的,即使不考虑数据质量,获取数据的

parquet文件格式——本质上是将多个rows作为一个chunk,同一个chunk里每一个单独的column使用列存储格式,这样获取某一row数据时候不需要跨机器获取

Parquet是Twitter贡献给开源社区的一个列数据存储格式,采用和Dremel相同的文件存储算法,支持树形结构存储和基于列的访问.Cloudera Impala也将使用Parquet作为底层的存储格式.在很多大数据的应用场景下面,比如电信行业,具有一定规则的数据,字段很多,但是每次查询仅仅针对其中少数的几个字段,这个时候列式存储是极佳的选择.优势: 使用列式存储,一列的值都是同质的,从而带来了更高的压缩比:对于在hadoop集群上的大数据量来说,使用parquet可以节省大量空间:可以提高

用scrapy爬取ttlsa博文相关数据存储至mysql

运维生存时间这个博客内容还是比较详尽的,对与运维技术人员的我来说,是偶尔溜达进来的地方,从中也学习到不少知识,感谢博主的奉献! 这段时间我就通过scrapy来收集下此博客内文章的相关数据,供以后需要从中提取我认为值得看的文章作为数据依据. 今天,要做的事就是把数据先抓取出来,后期再将其数据存储起来. 首先通过命令scrapy genspider ttlsa www.ttlsa.com创建一个蜘蛛程序应用名为ttlsa 其次在ttlsa.py下编写如下代码. # -*- coding: utf-8

用matplotlib获取雅虎股票数据并作图

matplotlib有一个finance子模块提供了一个获取雅虎股票数据的api接口:quotes_historical_yahoo_ochl 感觉非常好用! 示例一 获取数据并作折线图 import matplotlib.pyplot as plt from matplotlib.finance import quotes_historical_yahoo_ochl from matplotlib.dates import YearLocator, MonthLocator, DateForm

利用网易获取所有股票数据

import urllib.request import re ##def downback(a,b,c): ## '''' ## a:已经下载的数据块 ## b:数据块的大小 ## c:远程文件的大小 ## ''' ## per = 100.0 * a * b / c ## if per > 100 : ## per = 100 ## print('%.2f%%' % per) stock_CodeUrl = 'http://quote.eastmoney.com/stocklist.html

hibernate 4.3 在使用获取数据获取不到数据库中最新变更的数据问题解决

hibernate 4.3 在使用获取数据获取不到数据库中最新变更的数据问题解决,应该是因为缓存问题 问题过程和现象: 查询一个数据列表=>数据库中手动update了数据=>刷新页面,数据显示还是update之前的旧数据 网上找到解决办法: 1.使用session.clear();在查询之前先清空缓存----经测试,此方法在4.3版本无效,其它版本没测试: 参考连接:https://www.linuxidc.com/Linux/2014-09/106458.htm 2.不使用hibernate

python调用tushare获取沪深A股票资金流向数据

接口:moneyflow 描述:获取沪深A股票资金流向数据,分析大单小单成交情况,用于判别资金动向 限量:单次最大提取4000行记录,总量不限制 积分:用户需要至少1500积分才可以调取,基础积分有流量控制,积分越多权限越大,请自行提高积分,具体请参阅本文最下方积分获取办法 注:tushare模块下载和安装教程,请查阅我之前的文章 输入参数 名称      |      类型      |      必选      |      描述 ts_code      |      str      |

获取数据表列相关数据

原文:获取数据表列相关数据 虽然本人在开发数据库时,不太使用视图,但是还是知道 如何获取视图中使用的所有表列: SELECT * FROM INFORMATION_SCHEMA.VIEW_COLUMN_USAGE 如何获取包含视图所有表: SELECT * FROM INFORMATION_SCHEMA.VIEW_TABLE_USAGE 获取包含有任何约束的所有列: SELECT TABLE_NAME,COLUMN_NAME,CONSTRAINT_NAME FROM INFORMATION_SC

VBS脚本获取最新数据备份及重名数据文件

我们前面提到了,近期公司一直对OA系统上线忙前忙后,所以对于运维的我来说需要借助一些脚本工具替我分担解忧,现在遇到的问题是,我们需要将从真实环境上定时备份的SQL数据库数据拷贝到测试环境中,然后还原数据库,由于还原数据库我们使用SQL自带的脚本程序就可以完成,但是在完成的过程中,我们需要对还原的数据库名称做统一,因为我们都知道数据库通过计划任务备份后都是以日期命名的,所以我们在用脚本自动还原的时候不太方便,毕竟不怎么人性化,所以我们就想到的是,将最新备份的SQL数据文件通过VBS脚本拷贝到本地后