导航:首页 > 数据行情 > python股票数据源

python股票数据源

发布时间:2022-10-25 05:33:26

❶ python yahoo的数据源已经失效可换成什么数据源

import xlrddata = xlrd.open_workbook('excelFile.xls')table = data.sheets()[0] #通过索引顺序获取table = data.sheet_by_index(0) #通过索引顺序获取table = data.sheet_by_name(u'Sheet1')#通过名称获取

❷ python cmo删除weblogic数据源

双击右键进行删除。
Python由荷兰数学和计算机科学研究学会的吉多·范罗苏姆于1990年代初设计,作为一门叫做ABC语言的替代品。Python提供了高效的高级数据结构,还能简单有效地面向对象编程。Python语法和动态类型,以及解释型语言的本质,使它成为多数平台上写脚本和快速开发应用的编程语言,随着版本的不断更新和语言新功能的添加,逐渐被用于独立的、大型项目的开发。
Python解释器易于扩展,可以使用C语言或C++(或者其他可以通过C调用的语言)扩展新的功能和数据类型。Python也可用于可定制化软件中的扩展程序语言。Python丰富的标准库,提供了适用于各个主要系统平台的源码或机器码。

❸ 如何用python 接入实时行情数据

有专门的实时行情API接口,例如微盛的实时行情API接口,通过类似这样的接口就可以接入了。

❹ Python数据分析: 初识Pandas,理解Pandas实现和原理

本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理

01 重要的前言

这段时间和一些做数据分析的同学闲聊,我发现数据分析技能入门阶段存在一个普遍性的问题,很多凭着兴趣入坑的同学,都能够很快熟悉Python基础语法,然后不约而同的一头扎进《利用Python进行数据分析》这本经典之中,硬着头皮啃完之后,好像自己什么都会了一点,然而实际操作起来既不知从何操起,又漏洞百出。

至于原因嘛,理解不够,实践不够是两条老牌的拦路虎,只能靠自己来克服。还有一个非常有意思且经常被忽视的因素——陷入举三反一的懵逼状态。

什么意思呢?假如我是个旱鸭子,想去学游泳,教练很认真的给我剖析了蛙泳的动作,扶着我的腰让我在水里划拉了5分钟,接着马上给我讲解了蝶泳,又是划拉了5分钟,然后又硬塞给我潜泳的姿势,依然是划拉5分钟。最后,教练一下子把我丢进踩不到底的泳池,给我呐喊助威。

作为一个还没入门的旱鸭子,教练倾囊授了我3种游泳技巧,让我分别实践了5分钟。这样做的结果就是我哪一种游泳技巧也没学会,只学会了喝水。当一个初学者一开始就陷入针对单个问题的多种解决方法,而每一种方法的实践又浅尝辄止,在面对具体问题时往往会手忙脚乱。

拿Pandas来说,它的多种构造方式,多种索引方式以及类似效果的多种实现方法,很容易把初学者打入举三反一的懵逼状态。所以,尽量避开这个坑也是我写Pandas基础系列的初衷,希望通过梳理和精简知识点的方式,给需要的同学一些启发。目前暂定整个基础系列分为4篇,基础篇过后便是有趣的实战篇。

下面开始进入正题(我真是太唠叨了)。

02 Pandas简介

江湖上流传着这么一句话——分析不识潘大师(PANDAS),纵是老手也枉然。

Pandas是基于Numpy的专业数据分析工具,可以灵活高效的处理各种数据集,也是我们后期分析案例的神器。它提供了两种类型的数据结构,分别是DataFrame和Series,我们可以简单粗暴的把DataFrame理解为Excel里面的一张表,而Series就是表中的某一列,后面学习和用到的所有Pandas骚操作,都是基于这些表和列进行的操作(关于Pandas和Excel的形象关系,这里推荐我的好朋友张俊红写的《对比EXCEL,轻松学习Python数据分析》)。

这里有一点需要强调,Pandas和Excel、SQL相比,只是调用和处理数据的方式变了,核心都是对源数据进行一系列的处理,在正式处理之前,更重要的是谋定而后动,明确分析的意义,理清分析思路之后再处理和分析数据,往往事半功倍。

03 创建、读取和存储

1、创建

在Pandas中我们想要构造下面这一张表应该如何操作呢?

别忘了,第一步一定是先导入我们的库——import pandas as pd

构造DataFrame最常用的方式是字典+列表,语句很简单,先是字典外括,然后依次打出每一列标题及其对应的列值(此处一定要用列表),这里列的顺序并不重要:

左边是jupyter notebook中dataframe的样子,如果对应到excel中,他就是右边表格的样子,通过改变columns,index和values的值来控制数据。

PS,如果我们在创建时不指定index,系统会自动生成从0开始的索引。

2、 读取

更多时候,我们是把相关文件数据直接读进PANDAS中进行操作,这里介绍两种非常接近的读取方式,一种是CSV格式的文件,一种是EXCEL格式(.xlsx和xls后缀)的文件。

读取csv文件:

engine是使用的分析引擎,读取csv文件一般指定python避免中文和编码造成的报错。而读取Excel文件,则是一样的味道:

非常easy,其实read_csv和read_excel还有一些参数,比如header、sep、names等,大家可以做额外了解。实践中数据源的格式一般都是比较规整的,更多情况是直接读取。

3、存储

存储起来一样非常简单粗暴且相似:

04 快速认识数据

这里以我们的案例数据为例,迅速熟悉查看N行,数据格式概览以及基础统计数据。

1、查看数据,掐头看尾

很多时候我们想要对数据内容做一个总览,用df.head()函数直接可以查看默认的前5行,与之对应,df.tail()就可以查看数据尾部的5行数据,这两个参数内可以传入一个数值来控制查看的行数,例如df.head(10)表示查看前10行数据。

2、 格式查看

df.info()帮助我们一步摸清各列数据的类型,以及缺失情况:

从上面直接可以知道数据集的行列数,数据集的大小,每一列的数据类型,以及有多少条非空数据。

3、统计信息概览

快速计算数值型数据的关键统计指标,像平均数、中位数、标准差等等。

我们本来有5列数据,为什么返回结果只有两列?那是因为这个操作只针对数值型的列。其中count是统计每一列的有多少个非空数值,mean、std、min、max对应的分别是该列的均值、标准差、最小值和最大值,25%、50%、75%对应的则是分位数。

05 列的基本处理方式

这里,我们采用SQL四大法宝的逻辑来简单梳理针对列的基本处理方式——增、删、选、改。

温馨提示:使用Pandas时,尽量避免用行或者EXCEL操作单元格的思维来处理数据,要逐渐养成一种列向思维,每一列是同宗同源,处理起来是嗖嗖的快。

1、增

增加一列,用df[‘新列名’] = 新列值的形式,在原数据基础上赋值即可:

2、删:

我们用drop函数制定删除对应的列,axis = 1表示针对列的操作,inplace为True,则直接在源数据上进行修改,否则源数据会保持原样。

3、选:

想要选取某一列怎么办?df[‘列名’]即可:

选取多列呢?需要用列表来传递:df[[‘第一列’,‘第二列’,‘第三列’…]]

4、 改:

好事多磨,复杂的针对特定条件和行列的筛选、修改,放在后面结合案例细讲,这里只讲一下最简单的更改:df[‘旧列名’] = 某个值或者某列值,就完成了对原列数值的修改。

06 常用数据类型及操作

1、字符串

字符串类型是最常用的格式之一了,Pandas中字符串的操作和原生字符串操作几乎一毛一样,唯一不同的是需要在操作前加上".str"。

小Z温馨提示:我们最初用df2.info()查看数据类型时,非数值型的列都返回的是object格式,和str类型深层机制上的区别就不展开了,在常规实际应用中,我们可以先理解为object对应的就是str格式,int64对应的就是int格式,float64对应的就是float格式即可。

在案例数据中,我们发现来源明细那一列,可能是系统导出的历史遗留问题,每一个字符串前面都有一个“-”符号,又丑又无用,所以把他给拿掉:

一般来说清洗之后的列是要替换掉原来列的:

2、 数值型

数值型数据,常见的操作是计算,分为与单个值的运算,长度相等列的运算。

以案例数据为例,源数据访客数我们是知道的,现在想把所有渠道的访客都加上10000,怎么操作呢?

只需要选中访客数所在列,然后加上10000即可,pandas自动将10000和每一行数值相加,针对单个值的其他运算(减乘除)也是如此。

列之间的运算语句也非常简洁。源数据是包含了访客数、转化率和客单价,而实际工作中我们对每个渠道贡献的销售额更感兴趣。(销售额 = 访客数 X 转化率 X 客单价)

对应操作语句:df[‘销售额’] = df[‘访客数’] * df[‘转化率’] * df[‘客单价’]

但为什么疯狂报错?

导致报错的原因,是数值型数据和非数值型数据相互计算导致的。PANDAS把带“%”符号的转化率识别成字符串类型,我们需要先拿掉百分号,再将这一列转化为浮点型数据:

要注意的是,这样操作,把9.98%变成了9.98,所以我们还需要让支付转化率除以100,来还原百分数的真实数值:

然后,再用三个指标相乘计算销售额:

3、时间类型

PANDAS中时间序列相关的水非常深,这里只对日常中最基础的时间格式进行讲解,对时间序列感兴趣的同学可以自行查阅相关资料,深入了解。

以案例数据为例,我们这些渠道数据,是在2019年8月2日提取的,后面可能涉及到其他日期的渠道数据,所以需要加一列时间予以区分,在EXCEL中常用的时间格式是’2019-8-3’或者’2019/8/3’,我们用PANDAS来实现一下:

在实际业务中,一些时候PANDAS会把文件中日期格式的字段读取为字符串格式,这里我们先把字符串’2019-8-3’赋值给新增的日期列,然后用to_datetime()函数将字符串类型转换成时间格式:

转换成时间格式(这里是datetime64)之后,我们可以用处理时间的思路高效处理这些数据,比如,我现在想知道提取数据这一天离年末还有多少天(‘2019-12-31’),直接做减法(该函数接受时间格式的字符串序列,也接受单个字符串):

❺ python中如何将表中的数据做成一张表,然后再从中取出数据

第一部分是生成数据表,常见的生成方法有两种,第一种是导入外部数据,第二种是直接写入数据。 Excel 中的文件菜单中提供了获取外部数据的功能,支持数据库和文本文件和页面的多种数据源导入。
获取外部数据
python 支持从多种类型的数据导入。在开始使用 python 进行数据导入前需要先导入 pandas 库,为了方便起见,我们也同时导入 numpy 库。
1 import numpy as np
2 import pandas as pd
导入数据表
下面分别是从 excel 和 csv 格式文件导入数据并创建数据表的方法。代码是最简模式,里面有很多可选参数设置,例如列名称,索引列,数据格式等等。感兴趣的朋友可以参考 pandas 的
官方文档。

1 df=pd.DataFrame(pd.read_csv(‘name.csv’,header=1))

2 df=pd.DataFrame(pd.read_excel(‘name.xlsx’))

创建数据表
另一种方法是通过直接写入数据来生成数据表,excel 中直接在单元格中输入数据就可以,python 中通过下面的代码来实现。生成数据表的函数是 pandas 库中的 DateFrame 函数,数据表一共有 6 行数据,每行有 6 个字段。在数据中我们特意设置了一些 NA 值和有问题的字段,例如包含空格等。后面将在数据清洗步骤进行处理。后面我们将统一以 DataFrame 的简称 df 来命名数据表。
1 df = pd.DataFrame({‘id’:[1001,1002,1003,1004,1005,1006],
2 ‘date’:pd.date_range(‘20130102’, periods=6),
3 ‘city’:['Beijing ', ‘SH’, ’ guangzhou ', ‘Shenzhen’, ‘shanghai’, 'BEIJING '],
4 ‘age’:[23,44,54,32,34,32],
5 ‘category’:[‘100-A’,‘100-B’,‘110-A’,‘110-C’,‘210-A’,‘130-F’],
6 ‘price’:[1200,np.nan,2133,5433,np.nan,4432]},

7 columns =[‘id’,‘date’,‘city’,‘category’,‘age’,‘price’])

这是刚刚创建的数据表,我们没有设置索引列,price 字段中包含有 NA 值,city 字段中还包含了一些脏数据。

数据表检查
python 中处理的数据量通常会比较大,所以就需要我们对数据表进行检查。比如我们之前的文章中介绍的纽约出租车数据和 Citibike 的骑行数据,数据量都在千万级,我们无法一目了然的了解数据表的整体情况,必须要通过一些方法来获得数据表的关键信息。数据表检查的另一个目的是了解数据的概况,例如整个数据表的大小,所占空间,数据格式,是否有空值和重复项和具体的数据内容。为后面的清洗和预处理做好准备。
数据维度(行列)

Excel 中可以通过 CTRL 向下的光标键,和 CTRL 向右的光标键来查看行号和列号。Python 中使用 shape 函数来查看数据表的维度,也就是行数和列数,函数返回的结果(6,6)表示数据表有 6 行,6 列。下面是具体的代码。

1 #查看数据表的维度

2 df.shape

3 (6, 6)

数据表信息

使用 info 函数查看数据表的整体信息,这里返回的信息比较多,包括数据维度,列名称,数据格式和所占空间等信息。

1 #数据表信息

2 df.info()

4 <class ‘pandas.core.frame.DataFrame’>

5 RangeIndex: 6 entries, 0 to 5

6 Data columns (total 6 columns):

7 id 6 non-null int64

8 date 6 non-null datetime64[ns]

9 city 6 non-null object

10 category 6 non-null object

11 age 6 non-null int64

12 price 4 non-null float64

13 dtypes: datetime64ns, float64(1), int64(2), object(2)

14 memory usage: 368.0 bytes

查看数据格式

Excel 中通过选中单元格并查看开始菜单中的数值类型来判断数据的格式。Python 中使用 dtypes 函数来返回数据格式。

Dtypes 是一个查看数据格式的函数,可以一次性查看数据表中所有数据的格式,也可以指定一列来单独查看。
1#查看数据表各列格式
2df.dtypes
3

4id int64

5date datetime64[ns]

6city object

7category object

8age int64

9price float64

10dtype: object

11

12#查看单列格式

13df[‘B’].dtype

14

15dtype(‘int64’)

查看空值

Excel 中查看空值的方法是使用“定位条件”功能对数据表中的空值进行定位。“定位条件”在“开始”目录下的“查找和选择”目录中。

Isnull 是 Python 中检验空值的函数,返回的结果是逻辑值,包含空值返回 True,不包含则返回 False。可以对整个数据表进行检查,也可以单独对某一列进行空值检查。

df_isnull

1#检查特定列空值

2df[‘price’].isnull()

3

40 False

51 True
62 False
73 False

84 True

95 False

10Name: price, dtype: bool

查看唯一值

Excel 中查看唯一值的方法是使用“条件格式”对唯一值进行颜色标记。Python 中使用 unique 函数查看唯一值。

Unique 是查看唯一值的函数,只能对数据表中的特定列进行检查。下面是代码,返回的结果是该列中的唯一值。类似与 Excel 中删除重复项后的结果。

1 #查看 city 列中的唯一值

2 df[‘city’].unique()34array(['Beijing ', ‘SH’, ’ guangzhou ', ‘Shenzhen’, ‘shanghai’, 'BEIJING '], dtype=object)

查看数据表数值

Python 中的 Values 函数用来查看数据表中的数值。以数组的形式返回,不包含表头信息。

1#查看数据表的值

2df.values

3
4array([[1001, Timestamp(‘2013-01-02 00:00:00’), 'Beijing ', ‘100-A’, 23,
5 1200.0],

6 [1002, Timestamp(‘2013-01-03 00:00:00’), ‘SH’, ‘100-B’, 44, nan],

7 [1003, Timestamp(‘2013-01-04 00:00:00’), ’ guangzhou ', ‘110-A’, 54,

8 2133.0],

9 [1004, Timestamp(‘2013-01-05 00:00:00’), ‘Shenzhen’, ‘110-C’, 32,

10 5433.0],

11 [1005, Timestamp(‘2013-01-06 00:00:00’), ‘shanghai’, ‘210-A’, 34,
12 nan],

13 [1006, Timestamp(‘2013-01-07 00:00:00’), 'BEIJING ', ‘130-F’, 32,

14 4432.0]], dtype=object)

查看列名称

Colums 函数用来单独查看数据表中的列名称。

1 #查看列名称

2 df.columns

3

4 Index([‘id’, ‘date’, ‘city’, ‘category’, ‘age’, ‘price’], dtype=‘object’)

查看前 10 行数据

Head 函数用来查看数据表中的前 N 行数据,默认 head()显示前 10 行数据,可以自己设置参数值来确定查看的行数。下面的代码中设置查看前 3 行的数据。

1#查看前 3 行数据``df.head(``3``)

Tail 行数与 head 函数相反,用来查看数据表中后 N 行的数据,默认 tail()显示后 10 行数据,可以自己设置参数值来确定查看的行数。下面的代码中设置查看后 3 行的数据。

1#查看最后 3 行df.tail(3)

❻ 用Python怎么做量化投资

本文将会讲解量化投资过程中的基本流程,量化投资无非这几个流程,数据输入------策略书写------回测输出
其中策略书写部分还涉及到编程语言的选择,如果不想苦恼数据输入和回测输出的话,还要选择回测平台。
一、数据
首先,必须是数据,数据是量化投资的基础
如何得到数据?

Wind:数据来源的最全的还是Wind,但是要付费,学生可以有免费试用的机会,之后还会和大家分享一下怎样才Wind里摘取数据,Wind有很多软件的借口,Excel,Matlab,Python,C++。
预测者网:不经意间发现,一个免费提供股票数据网站 预测者网,下载的是CSV格式
TB交易开拓者:Tradeblazer,感谢@孙存浩提供数据源
TuShare:TuShare -财经数据接口包,基于Python的财经数据包,利用Python进行摘取
如何存储数据?
Mysql
如何预处理数据?

空值处理:利用DataFrame的fill.na()函数,将空值(Nan)替换成列的平均数、中位数或者众数
数据标准化
数据如何分类?
行情数据
财务数据
宏观数据
二、计算语言&软件

已经有很多人在网上询问过该选择什么语言?笔者一开始用的是matlab,但最终选择了python
python:库很多,只有你找不到的,没有你想不到,和量化这块结合比较紧密的有:
Numpy&Scipy:科学计算库,矩阵计算
Pandas:金融数据分析神器,原AQR资本员工写的一个库,处理时间序列的标配

Matplotlib:画图库
scikit-learn:机器学习库
statsmodels:统计分析模块
TuShare:免费、开源的python财经数据接口包

Zipline:回测系统
TaLib:技术指标库
matlab:主要是矩阵运算、科学运算这一块很强大,主要有优点是WorkSpace变量可视化

python的Numpy+Scipy两个库完全可以替代Matlab的矩阵运算
Matplotlib完克Matlab的画图功能
python还有很多其他的功能
pycharm(python的一款IDE)有很棒的调试功能,能代替Matlab的WorkSpace变量可视化
推荐的python学习文档和书籍
关于python的基础,建议廖雪峰Python 2.7教程,适合于没有程序基础的人来先看,涉及到python的基本数据类型、循环语句、条件语句、函数、类与对象、文件读写等很重要的基础知识。

涉及到数据运算的话,其实基础教程没什么应用,python各类包都帮你写好了,最好的学习资料还是它的官方文档,文档中的不仅有API,还会有写实例教程
pandas文档
statsmodels文档
scipy和numpy文档
matplotlib文档

TuShare文档
第二,推荐《利用Python进行数据分析》,pandas的开发初衷就是用来处理金融数据的
三、回测框架和网站
两个开源的回测框架
PyAlgoTrade - Algorithmic Trading

Zipline, a Pythonic Algorithmic Trading Library

❼ Python培训课程内容有哪些

Python开发基础课程内容包括:计算机硬件、操作系统原理、安装linux操作系统、linux操作系统维护常用命令、Python语言介绍、环境安装、基本语法、基本数据类型、二进制运算、流程控制、字符编码、文件处理、数据类型、用户认证、三级菜单程序、购物车程序开发、函数、内置方法、递归、迭代器、装饰器、内置方法、员工信息表开发、模块的跨目录导入、常用标准库学习,b加密 e正则logging日志模块等,软件开发规范学习,计算器程序、ATM程序开发等。

Linux是作为开发者必须要掌握的操作平台,在这个平台上无论是开发Web项目,运行SQL数据库还是部署爬虫、大数据分析、以及AI开发,都可以很好的实现。作为一门编程语言的学习,大概可以分为几个部分:编程语法、面向对象的编程思想、常用设计模式、常用排序算法,内容有关系型数据库表的设计、增删改查以及SQL语句的编写、SQL和NoSQL数据库的使用场景和设计难点、Python对数据库的连接。千锋教育拥有多年Python培训服务经验,采用全程面授高品质、高体验培养模式,拥有国内一体化教学管理及学员服务,助力更多学员实现高薪梦想。

❽ 如何使用python抓取炒股软件中资金数据

这个说来有点复杂,用fiddle监控软件跟服务器间的通讯,找到数据源地址,然后用excel或python抓这个源地址数据,可能还要加上反扒代码,构造时间戳等等,你网上找python网抓视频教程看看就知道了。

❾ 如何用python代码判断一段范围内股票最高点

Copyright © 1999-2020, CSDN.NET, All Rights Reserved




登录

python+聚宽 统计A股市场个股在某时间段的最高价、最低价及其时间 原创
2019-10-12 09:20:50

开拖拉机的大宝

码龄4年

关注
使用工具pycharm + 聚宽数据源,统计A股市场个股在某时间段的最高价、最低价及其时间,并打印excel表格输出

from jqdatasdk import *
import pandas as pd
import logging
import sys
logger = logging.getLogger("logger")
logger.setLevel(logging.INFO)

# 聚宽数据账户名和密码设置
auth('username','password')

#获取A股列表,包括代号,名称,上市退市时间等。
security = get_all_securities(types=[], date=None)
pd2 = get_all_securities(['stock'])


# 获取股票代号
stocks = list(get_all_securities(['stock']).index)

# 获取股票名称
stocknames = pd2['display_name']

start_date = 񟭏-01-01'
end_date = 񟭒-12-31'
def get_stocks_high_low(start_date,end_date):
# 新建表,表头列
# 为:"idx","stockcode","stockname","maxvalue","maxtime","lowvalue","lowtime"
result = pd.DataFrame(columns=["idx", "stockcode", "stockname", "maxvalue", "maxtime", "lowvalue", "lowtime"])
for i in range(0,stocks.__len__()-1):
pd01 = get_price(stocks[i], start_date, end_date, frequency='daily',
fields=None, skip_paused=False,fq='pre', count=None)
result=result.append(pd.DataFrame({'idx':[i],'stockcode':[stocks[i]],'stockname':
[stocknames[i]],'maxvalue':[pd01['high'].max()],'maxtime':
[pd01['high'].idxmax()],'lowvalue': [pd01['low'].min()], 'lowtime':
[pd01['low'].idxmin()]}),ignore_index=True)

result.to_csv("stock_max_min.csv",encoding = 'utf-8', index = True)
logger.warning("执行完毕!

阅读全文

与python股票数据源相关的资料

热点内容
招商南油股票值得长期持有吗 浏览:4
st上市6月8号股票 浏览:406
金太阳app如何买股票 浏览:746
退市股票退市如何操作 浏览:563
中国股市赚得最多的股票 浏览:912
股票账户会有透支吗 浏览:661
中国重工股票阅兵后走势 浏览:71
雪球app怎么开户买股票 浏览:121
股票里的行业指数 浏览:185
st天润股票财务 浏览:589
国家统计局股票数据中心 浏览:864
红太阳股票退市预警 浏览:584
复牌不限涨幅的股票 浏览:371
朗新科技股票行情6 浏览:395
股票绑定的银行卡被冻结了 浏览:642
股票软件看当中明细是什么意思 浏览:305
国信证券股票股票 浏览:668
2018到2020股票近几年数据走势 浏览:57
宏图高科违约对股票的影响 浏览:72
股票投资收益的构成包括什么 浏览:976