Python股票历史数据预处理(一)

2023-11-04

Python股票历史数据预处理(一)

在进行量化投资交易编程时,我们需要股票历史数据作为分析依据,下面介绍如何通过Python获取股票历史数据并且将结果存为DataFrame格式。处理后的股票历史数据下载链接为:http://download.csdn.net/detail/suiyingy/9688505。

具体步骤如下:

  • (1) 建立股票池,这里按照股本大小来作为选择依据。
  • (2) 分别读取股票池中所有股票的历史涨跌幅。
  • (3) 将各支股票的历史涨跌幅存到DataFrame结构变量中,每一列代表一支股票,对于在指定时间内还没有发行的股票的涨跌幅设置为0。
  • (4) 将DataFrame最后一行的数值设置为各支股票对应的交易天数。
  • (5) 将DataFrame数据存到csv文件中去。

具体代码如下:

# -*- coding: utf-8 -*-
"""
Created on Thu Nov 17 23:04:33 2016
获取股票的历史涨跌幅,先合并为DataFrame后存为csv格式
@author: yehxqq1513760265
"""


import numpy  as np
import pandas  as pd

#按照市值从小到大的顺序获得50支股票的代码
df  = get_fundamentals (
        query (fundamentals. eod_derivative_indicator. market_cap )
        . order_by (fundamentals. eod_derivative_indicator. market_cap. asc ( ) )
        . limit ( 50 ) , '2016-11-17' ,  '1y'
     )
b1 =  { }
priceChangeRate_300  = get_price_change_rate ( '000300.XSHG' ,  '20060101' ,  '20161118' )
df300  = pd. DataFrame (priceChangeRate_300 )
lenReference  =   len (priceChangeRate_300 )
dfout  = df300

dflen  = pd. DataFrame ( )
dflen [ '000300.XSHG' ]  =  [lenReference ]
#分别对这一百只股票进行50支股票操作
#获取从2006.01.01到2016.11.17的涨跌幅数据
#将数据存到DataFrame中
#DataFrame存为csv文件
for stock  in  range ( 50 ):
    priceChangeRate  = get_price_change_rate (df [ 'market_cap' ]. columns [stock ] ,  '20150101' ,  '20161118' )
     if priceChangeRate  is  None:
        openDays  =  0
     else:
        openDays  =  len (priceChangeRate )
        dftempPrice  = pd. DataFrame (priceChangeRate )
        tempArr  =  [ ]
         for i  in  range (lenReference ):          
             if df300. index [i ]  in  list (dftempPrice. index ):
                 #保存为4位有效数字
                tempArr. append (  "%.4f" % ( (dftempPrice. loc [ str (df300. index [i ] ) ] [ 0 ] ) ) )
                 pass
             else:
                tempArr. append ( float ( 0.0 ) )
        fileName  =  ''
        fileName  = fileName. join (df [ 'market_cap' ]. columns [stock ]. split ( '.' ) ) 
        dfout [fileName ]  = tempArr
        dflen [fileName ]  =  [ len (priceChangeRate ) ]

dfout  = dfout. append (dflen )
dfout. to_csv ( '00050.csv' )
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python股票历史数据预处理(一) 的相关文章

  • Talib技术因子详解(十)

    talib安装方式 pip install Ta lib Tushare数据获取请参考 金融量化分析基础环境搭建 数据获取代码请参考 Talib技术因子详解 一 101 CDLPIERCING名称 Piercing Pattern 刺透形态
  • Talib技术因子详解(一)

    talib安装方式 pip install Ta lib Tushare数据获取请参考 金融量化分析基础环境搭建 数据获取代码 import tushare as ts ts set token Tushare的token pro ts p
  • 常用技术指标之一文读懂KDJ指标

    什么是KDJ指标 KDJ中文名又叫随机指标 英文名叫Stochastic oscillator 由乔治 莱恩 George Lane 于20世纪50年代首创 最早用于期货市场 KDJ指标能比较迅速 直观地研判行情 主要用于分析中短期趋势 是
  • 自已动手修改同花顺K线周期的快捷键

    同花顺的1分钟 5分钟 15分钟 30分钟 60分钟的K线周期快捷键为M1 M5 M15 M3 M6 不像大智慧为1 2 3 4 操作很是方便 让我们来把它给改一改 1 下载Restorator http www downxia com d
  • 生产API版本及SIMNOW环境说明

  • Talib技术因子详解(八)

    talib安装方式 pip install Ta lib Tushare数据获取请参考 金融量化分析基础环境搭建 数据获取代码请参考 Talib技术因子详解 一 71 CDLDARKCLOUDCOVER名称 Dark Cloud Cover
  • Python股票历史数据预处理(二)

    Python股票历史数据预处理 二 从网上下载的股票历史数据往往不能直接使用 需要转换为自己所需要的格式 下面以Python代码编程为工具 将csv文件中存储的股票历史数据提取出来并处理 处理的数据结果为是30天涨跌幅子数据库 下载地址为
  • 量化术语速查表(持续更新)

    本文介绍一些量化投资相关术语 帮助大家更好地了解该行业 作者 bigquant 阅读时间 15分钟 本文由BigQuant宽客学院推出 难度标签 以下术语没有先后顺序 并将持续更新 金融相关 股票 股份公司发行的所有权凭证 债券 承诺按一定
  • Backtrader 基本使用教程 — 量化投资实战教程(1)

    都说Python可以用于量化投资 但是很多人都不知道该怎么做 甚至觉得是非常高深的知识 其实并非如此 任何人都可以在只有一点Python的基础上回测一个简单的策略 Backtrader是一个基于Python的自动化回溯测试框架 作者是德国人
  • Python 过滤次新股、停牌、涨跌停

    过滤次新股 是否涨跌停 是否停牌等条件 def filcon context bar dict tar list def zdt trade stock context bar dict yesterday history 2 1d clo
  • 金融时间序列分析:5. AR模型实例(Python)

    0 目录 金融时间序列分析 9 ARMA自回归移动平均模型 金融时间序列分析 8 MA模型实例 Python 金融时间序列分析 7 MA滑动平均模型 金融时间序列分析 6 AR模型实例 金融时间序列分析 5 AR模型实例 Python 金融
  • MATLAB金融工具箱(一)--快速入门

    一 快速入门 1 什么是金融工具箱 MATLAB和金融工具箱为金融分析和金融工程提供了一个完整的计算环境 并且金融工具箱提供了一切可帮助你完成金融数据的数学和统计分析的功能 并能将结果用高质量图像显示出来 你可以快速地提出 可视化并且解答复
  • 利用强化学习进行股票操作实战(四)

    本次实战代码仍是在之前基础上进行了一些修改 之前只在一支股票上进行训练 这次我将模型放在多支股票上训练 并在多支股票上进行了测试 对于多支股票的训练策略 没有参考过别人的训练方案 做这个的比较少 我按自己的理解去训练 每一轮训练 都将每支股
  • CTP程序化交易入门系列之四:行情订阅常见问题解答

    前言 这一章总结了大家订阅行情最常问的一些问题的相关解答 希望能有帮助 如有不对的地方 欢迎指正 后期会在这里更新迭代 欢迎到这底下提问 更新时间 20201112 1 获取行情的地址在哪里可以查到 simnow发的即是实时行情 官网上可以
  • 风险平价组合(risk parity)理论与实践

    本文介绍了风险平价组合的理论与实践 后续文章将对risk parity组合进行更深入探讨以及引入预期收益后的资产配置实战策略 感兴趣的朋友可以直接前往BigQuant人工智能量化投资平台克隆代码进行复现 前言 资产配置是个很广泛的话题 在投
  • (转)基于FPGA技术的FAST行情解码研究

    http mp weixin qq com s BviH6gAqej6lHd9XxFKUfg 交易技术前沿 基于FPGA技术的FAST行情解码研究 钟浪辉 陈敏 陈坚 刘啸林 秦轶轩 李道双 2017 09 08 上交所技术服务 本文选自
  • [Python]调用pytdx的代码示例

    安装pytdx pip install pytdx 简单示范 from pytdx hq import TdxHq API api TdxHq API 数据获取接口一般返回list结构 with api connect 119 147 21
  • 量化编程环境python库安装包

    必装工具包 1 ccxt conda没有 2 pandas 3 pathos 并发计算 conda没有 4 websocket 获取实时数据 conda没有 5 ntplib 用于时间校对 conda没有 6 cryptography 加密
  • MATLAB金融工具箱(二)--执行常见的金融任务

    二 执行常见的金融任务 1 简介 金融工具箱包含了可以执行许多常见的金融任务的函数 包括 l 处理和转换日期 2 4页 日历功能可以将日期在不同格式之间进行转换 包括Excel格式 并决定未来和过去的日期 分辨假期和工作日 计算日期之间的时
  • 商品期货策略-ATR通道突破策略

    实现平台 BigQuant 人工智能量化投资平台 可在文末前往原文一键克隆代码进行进一步研究 导语 商品期货交易上线啦 听闻这个消息的小编当然坐不住了 决定立刻商品期货走一波 本文选择实现的是经典的ATR通道突破策略 也被称为波动性突破策略

随机推荐

  • R语言第七讲 线性回归分析案例

    题目 MASS 库中包含 Boston 波士顿房价 数据集 它记录了波士顿周围 506 个街区的 medv 房价中位数 我们将设法用 13 个预测变量如 rm 每栋住宅的平均房间数 age 平均房 龄 lstat 社会经济地位低的家庭所占比
  • 017-爬虫-爬虫结果存入 sqlserver

    先上图 结果 一 利用这个模块连接sql server import pymssql 引入pymssql模块 安装方式 conda install pymssql 二 连接失败的可能原因 参考此博客 需要开启几个服务 https blog
  • win10中anaconda安装tensorflow时报错Traceback (most recent call last): File “E:\Anaconda3\lib\site-packag

    windows系统anaconda安装tensorflow时报错解决办法 报错 Traceback most recent call last File E Anaconda3 lib site packages pip vendor ur
  • 数组的复制(Java技巧篇,四种方法详解)

    使用java lang System类中的arraycopy方法 优点 该方法可复制全部内容 也可复制一部分成为子数组 且目标数组与源数组没有关系 目标数组可以比源数组大 比较灵活 缺点 返回值为void 所以需要手动创建目标数组 参数含义
  • OA项目之我的审批(查询&会议签字&审批)

    目录 会议查询 会议签字 会议审批 讲解思路 我的审批查询功能 手写签批插件及工具类介绍 手写签批插件集成 手写签批功能实现 会议查询 MeetingInfoDao java 我的审批 public List
  • 毕业设计-基于机器学习的二维码和条形码识别

    目录 前言 课题背景和意义 实现技术思路 实现效果图样例 前言 大四是整个大学期间最忙碌的时光 一边要忙着备考或实习为毕业后面临的就业升学做准备 一边要为毕业设计耗费大量精力 近几年各个学校要求的毕设项目越来越难 有不少课题是研究生级别难度
  • STM32F10xNVIC探究与学习_2021-04-24

    NVIC探究与学习 嵌套向量中断控制器 NVIC NVIC 驱动有多种用途 例如使能或者失能 IRQ 中断 使能或者失能单独的 IRQ 通道 改变 IRQ 通道的优 先级等等 NVIC Enable 中断设置使能寄存器 Disable 中断
  • SQL Server 数据加密功能解析

    数据加密是数据库被破解 物理介质被盗 备份被窃取的最后一道防线 数据加密 一方面解决数据被窃取安全问题 另一方面有关法律要求强制加密数据 SQL Server的数据加密相较于其他数据库 功能相对完善 加密方法较多 通常来讲 数据加密分为对称
  • Redis的面试题

    1 为什么使用Redis做缓存 redis具有高性能和高并发的特点 redis为什么具有高性能 或者说redis为什么快 1 首先redis的数据存在内存中 所以比存储磁盘上的数据库快 2 其次redis本身使用了高效的数据结构 redis
  • win11WiFi驱动如何下载 windows11WiFi驱动下载的步骤方法

    Win11wifi驱动如何下载 现在很多用户都安装了最新的Win11系统 但是在使用的时候发现电脑原有的无线网卡驱动不匹配 需要安装win11wifi驱动 不知道win11wifi驱动下载安装方式 下面小编就教下大家win11无线网卡驱动下
  • Java中Callable接口(多线程实现的第三种办法)

    实现多线程程序的步骤 1 自定义类实现Callable接口 重写接口中的run方法 V call throws Exception 其余两种方法run 没有返回值 2 创建线程池对象 Executors 里面的那个方法 返回的是Execut
  • m1 使用anaconda安装tensorflow

    anaconda已经支持m芯片了 所以直接在官网下载 创建conda环境 conda create n tensorflow learn python 3 8 conda activate tensorflow learn 按照tensor
  • 十大新兴前端框架大盘点

    十大新兴前端框架大盘点 2019年在整体上 前端的主流框架没有太大的变化 业务代码仍由三大框架 React Vue Angular 所主宰着 打包工具一般仍使用webpack Rollup js 状态管理器还是Redux MobX 但随着这
  • 腾讯云视频上传问题总结

    使用腾讯云提供java sdk4 4 MultipartUploadVodFile使用此接口 分片上传 分片大小设置1024 1024 20会被腾讯服务器拒绝 无法上传 目前设置为1024 1024 5 最小分片设置为1024 512 域名
  • adaboost原理(包含权重详细解释)

    1 1 Adaboost是什么 AdaBoost 是英文 Adaptive Boosting 自适应增强 的缩写 由Yoav Freund和Robert Schapire在1995年提出 它的自适应在于 前一个基本分类器分错的样本会得到加强
  • 为什么说区块链的性能严重不足?

    现如今 性能过低是当前区块链技术面临的主要挑战之一 区块链的性能指标主要包括交易吞吐量和延时 交易吞吐量表示在固定时间能处理的交易数 延时表示对交易的响应和处理时间 在实际应用中 需要综合两个要素进行考察 只使用交易吞吐量而不考虑延时是不正
  • STM32CubeMX学习——旋转编码器模块

    前言 雨打灯难灭 风吹色更明 若飞天上去 定作月边星 李白 咏萤火 一 旋转编码器介绍 旋转编码器是一种可以左右旋转 同时也可以按下 也可以按下旋转的器件 通过左右旋转对应着内部不同开关的导通 同时按下也可以旋转 由此看来旋转编码器可以实现
  • 计算机msvcp120.dll丢失的解决方法

    计算机msvcp120 dll丢失的解决方法 相信困扰着不少小伙伴 msvcp120 dll系统文件是电脑重要的文件 丢失或者被损坏的话 很多软件跟游戏都会无法运行 需要怎么修复呢 小编今天就把教程分享给大家 修复教程如下 首先是打开电脑浏
  • el-dialog 对话框显示怎么往上调一调 或者往下调调显示

  • Python股票历史数据预处理(一)

    Python股票历史数据预处理 一 在进行量化投资交易编程时 我们需要股票历史数据作为分析依据 下面介绍如何通过Python获取股票历史数据并且将结果存为DataFrame格式 处理后的股票历史数据下载链接为 http download c