python金融数据怎么获取_class类怎样在python中获取金融数据?
我们搜集金融数据,通常想要的是利用爬虫的方法。其实我们最近所学的class不仅可以进行类调用,在获取数据方面同样是可行的,很多小伙伴都比较关注理财方面的情况,对金融数据的需要也是比较多的。下面就class类在python中获取金融数据的方法为大家带来讲解。
使用tushare获取所有A股每日交易数据,保存到本地数据库,同时每日更新数据库;根据行情数据进行可视化和简单的策略分析与回测。由于篇幅有限,本文着重介绍股票数据管理(下载、数据更新)的面向对象编程应用实例。
#导入需要用到的模块
import numpy as np
import pandas as pd
from dateutil.parser import parse
from datetime import datetime,timedelta
#操作数据库的第三方包,使用前先安装pip install sqlalchemy
from sqlalchemy import create_engine
#tushare包设置
import tushare as ts
token='输入你在tushare上获得的token'
pro=ts.pro_api(token)
#使用python3自带的sqlite数据库
#本人创建的数据库地址为c:\zjy\db_stock\
file='sqlite:///c:\\zjy\\db_stock\\'
#数据库名称
db_name='stock_data.db'
engine = create_engine(file+db_name)
class Data(object):
def __init__(self,
start='20050101',
end='20191115',
table_name='daily_data'):
self.start=start
self.end=end
self.table_name=table_name
self.codes=self.get_code()
self.cals=self.get_cals()
#获取股票代码列表
def get_code(self):
codes = pro.stock_basic(list_status='L').ts_code.values
return codes
#获取股票交易日历
def get_cals(self):
#获取交易日历
cals=pro.trade_cal(exchange='')
cals=cals[cals.is_open==1].cal_date.values
return cals
#每日行情数据
def daily_data(self,code):
try:
df0=pro.daily(ts_code=code,start_date=self.start,
end_date=self.end)
df1=pro.adj_factor(ts_code=code,trade_date='')
#复权因子
df=pd.merge(df0,df1) #合并数据
except Exception as e:
print(code)
print(e)
return df
#保存数据到数据库
def save_sql(self):
for code in self.codes:
data=self.daily_data(code)
data.to_sql(self.table_name,engine,
index=False,if_exists='append')
#获取最新交易日期
def get_trade_date(self):
#获取当天日期时间
pass
#更新数据库数据
def update_sql(self):
pass #代码省略
#查询数据库信息
def info_sql(self):
pass #代码省略
代码运行#假设你将上述代码封装成class Data
#保存在'C:\zjy\db_stock'目录下的down_data.py中
import sys
#添加到当前工作路径
sys.path.append(r'C:\zjy\db_stock')
#导入py文件中的Data类
from download_data import Data
#实例类
data=Data()
#data.save_sql() #只需运行一次即可
data.update_sql()
data.info_sql()
补充:类的专有方法
__init__ : 构造函数,在生成对象时调用
__del__ : 析构函数,释放对象时使用
__repr__ : 打印,转换
__setitem__ : 按照索引赋值
__getitem__: 按照索引获取值
__len__: 获得长度
__cmp__: 比较运算
__call__: 函数调用
__add__: 加运算
__sub__: 减运算
__mul__: 乘运算
__truediv__: 除运算
__mod__: 求余运算
__pow__: 乘方
本篇使用class类在python中获取金融数据的方法,到这里就全部分享给大家了。相信很多小伙伴已经用它开始采集金融数据了,结尾一些类的方法大家可以了解下,都是能经常用到的。
python金融数据怎么获取_class类怎样在python中获取金融数据?相关推荐
- 获取存储过程返回值及代码中获取返回值
获取存储过程返回值及代码中获取返回值 1.OUPUT参数返回值例: 向Order表插入一条记录,返回其标识 CREATE PROCEDURE [dbo].[nb_order_insert]( @o_b ...
- 获取存储过程返回值及代码中获取返回值(转)
获取存储过程返回值及代码中获取返回值 1.OUPUT参数返回值例: 向Order表插入一条记录,返回其标识 CREATE PROCEDURE [dbo].[nb_order_insert]( @o_b ...
- 提升: 建立一个如下的学生情况表,要求先依次输入学生数据元素,然后依次显示当前表中的学生数据元素。 学号 姓名 性别 年龄 2000001 张三 男 20 2000002
提升: 建立一个如下的学生情况表,要求先依次输入学生数据元素,然后依次显示当前表中的学生数据元素. 学号 姓名 性别 年龄 2000001 张三 男 20 2000002 李四 男 21 200000 ...
- 用python怎样做学生管理系统用类的形式-Python配置管理的几种方式
一. 为什么要使用配置 如果我们在较复杂的项目中不使用配置文件,我们可能会面临下面的情况: 你决定更改你的项目中数据库的 host, 因为你要将项目从测试环境转移到实际的上产环境中.如果你的项目中多个 ...
- python提取pdf表格数据_Python骚操作,提取pdf文件中的表格数据!
在实际研究中,我们经常需要获取大量数据,而这些数据很大一部分以pdf表格的形式呈现,如公司年报.发行上市公告等.面对如此多的数据表格,采用手工复制黏贴的方式显然并不可取.那么如何才能高效提取出pdf文 ...
- FastJson序列化Json自定义返回字段,普通类从spring容器中获取bean
前言: 数据库的字段比如:price:1 ,返回需要price:1元. 这时两种途径修改: ① 比如sql中修改或者是在实体类转json前遍历修改. ②返回json,序列化时候修改.用到的是fastj ...
- java中怎么找类的路径_Java中获取类加载路径和项目根路径的5种方法
public class MyUrlDemo { public static void main(String[] args) { MyUrlDemo muDemo = new MyUrlDemo() ...
- java反射获取实现类_Java介绍通过反射获取类的信息
免费学习推荐:java基础教程 目录1.获取Field 2.反编译Field 3.通过反射机制访问对象属性 4.可变长度参数 5.反射Method(了解) 6.反编译(了解) 7.反射机制调用方法 8 ...
- python遍历数组获取下标_如何在循环中获取索引(数组下标)
如何获取列表的索引值呢? ints = [8, 23, 45, 12, 78] 如果像C或者PHP那样可以加入一个状态变量,这里使用Python最好的选择就是用内建函数enumeratefor i i ...
最新文章
- GNU make manual 翻译(二十六)
- axios nodejs 上传图片_Vue Axios跨域、文件上传
- 前序遍历(递归、非递归)、层序遍历(递归、非递归)
- CentOS6实现路由器功能
- laravel 任务队列_Laravel5.5之事件监听、任务调度、队列
- DWA泊车算法的实现
- python函数使用两个小括号
- 只保留日期_全历手表与年历腕表都能看日期,为何唯独万年历腕表价格不菲?...
- Windows Communication Foundation_1 overview
- 语音识别芯片原理是什么 语音识别芯片有哪些【详解】
- 悦读上品 得乎益友
- Java与MySQL连接错误_mysql连接错误
- u盘如何安装2003服务器系统安装,u盘怎么安装win server2003系统是iso
- STEP 7 Micro/WIN 指令库下载网址大全s7-200
- C# Spire操作Word文档生成PDF或JPG格式
- python第八天 运算符的使用
- 中企海外周报 | 华晨与力帆合作在乌拉圭建厂;奇瑞在沙特发布全新SUV
- 【JAVA】-- 黄金矿工小游戏(二)(实现思路+每步代码)
- 第五节 FLASH 程序存储器和数据EEPROM
- 在输入框加入搜索图标的问题