① 股票数据存csv还是mysql
股票数据存csv。CSV,英文原文为:Comma(逗号)-Separated(分割)Values(数值),有时也称为字符分隔值,CSV文件格式的通用标准并不存在,但是在RFC4180中有基础性的描述。使用的字符编码同样没有被指定,但是bitASCII是最基本的通用编码。
② 10亿级别的数据库 用什么比较好mysql合适吗
10亿级别的什么数据?
如果是 关系型很强,而且数据很值钱的数据, 例如 顾客--交易--商品--金额 一个系列的, 那么这种很重要的数据,建议是 Oracle, 因为 数据丢不起啊。
如果是 关系型强, 但是数据不是很值钱的数据, 例如 A股 从开市以来, 所有股票的 每日,每小时,30分,15分,5分 钟的行情数据。 那么你可以使用 Mysql。 反正丢了就重新导入一次。
如果是 关系型不强, 数据也不是很值钱的数据, 例如 论坛的帖子 这一类的, 那么用 mongodb 就更合适一些。
③ 【手把手教你】搭建自己的量化分析数据库
量化交易的分析根基在于数据,包括股票历史交易数据、上市公司基本面数据、宏观和行业数据等。面对信息流量的持续增长,掌握如何获取、查询和处理数据信息变得不可或缺。对于涉足量化交易的个体而言,对数据库操作的掌握更是基本技能。目前,MySQL、Postgresql、Mongodb、SQLite等开源数据库因其高使用量和受欢迎程度,位列2018-2019年DB-Engines排行榜前十。这几个数据库各有特点和适用场景。本文以Python操作Postgresql数据库为例,借助psycopg2和sqlalchemy实现与pandas dataframe的交互,一步步构建个人量化分析数据库。
首先,安装PostgreSQL。通过其官网下载适合操作系统的版本,按照默认设置完成安装。安装完成后,可以在安装目录中找到pgAdmin4,这是一个图形化工具,用于查看和管理PostgreSQL数据库,其最新版为Web应用程序。
接着,利用Python安装psycopg2和sqlalchemy库。psycopg2是连接PostgreSQL数据库的接口,sqlalchemy则适用于多种数据库,特别是与pandas dataframe的交互更为便捷。通过pip安装这两个库即可。
实践操作中,使用tushare获取股票行情数据并保存至本地PostgreSQL数据库。通过psycopg2和sqlalchemy接口,实现数据的存储和管理。由于数据量庞大,通常分阶段下载,比如先下载特定时间段的数据,后续不断更新。
构建数据查询和可视化函数,用于分析和展示股价变化。比如查询股价日涨幅超过9.5%或跌幅超过-9.5%的个股数据分布,结合选股策略进行数据查询和提取。此外,使用20日均线策略,开发数据查询和可视化函数,对选出的股票进行日K线、20日均线、成交量、买入和卖出信号的可视化分析。
数据库操作涉及众多内容,本文着重介绍使用Python与PostgreSQL数据库的交互方式,逐步搭建个人量化分析数据库。虽然文中使用的数据量仅为百万条左右,使用Excel的csv文件读写速度较快且直观,但随着数据量的增长,建立完善的量化分析系统时,数据库学习变得尤为重要。重要的是,文中所展示的选股方式和股票代码仅作为示例应用,不构成任何投资建议。
对于Python金融量化感兴趣的读者,可以关注Python金融量化领域,通过知识星球获取更多资源,包括量化投资视频资料、公众号文章源码、量化投资分析框架,与博主直接交流,结识圈内朋友。
④ 请问大家什么软件能够用外部指标进行历史回测
需要一些比较专业的统计软件。第三方炒股软件一般都做的不好,有些我拿更权威的统计软件去计算,发现结果居然是错的。这个是个人经验(不过有点过时了,2012年尝试的,估计那个软件自己已经把错误更改了。)。
建议你做以下操作:
自己收集外部指标,并随时更新。如果可以的话,自己建个数据库。MYSQL之类的,免费而且非常容易上手。
选择一款可以轻松将金融数据导出成标准格式的第三方炒股软件。这个就是你自己的喜好了。大部分软件,这方面做的还是不错的,虽然要交费。
用一款比较专业的统计软件,将两者数据导入,然后按自己的想法,自由自在的做分析。你可以随便选一款你自己使用着习惯的统计软件。EVIEWS之类的太简单,包含的东西太少了。高度建议你选择一些自带金融计量分析工具的软件。建议你用以下统计软件:
MATLAB。这个上手超快,前提是你很好的学过线性代数,因为计算是以矩阵为基础的。他自带的financial econometrics tool box包含的东西非常广,非常全。就算没有,因为软件自由度很高,所以可以轻松自己创造出一个。
STATA。这个上手比上面那个还快。而且,不需要很好的线性代数,因为编程理念不是以矩阵为基础的。自带的金融计量的东西很多很全。更新也很快。缺点是,没上面那个自由度高。某些全新的算法和公式,你想用的话,自己写出来比较费劲,效率也容易低。特别是你想做蒙特卡罗模拟实验的时候。
其他的那些免费的统计软件,比如R, OX之类的我并不建议。因为是免费的,所以用户体验做的并不好。
⑤ 利用Tushare获取股票数据(全面详细,照着敲就可以)
Tushare是一个专为金融分析人员设计的免费Python财经数据接口包,它简化了从数据采集到存储的过程,以pandas DataFrame格式提供高效的数据。通过Python的pandas、NumPy和Matplotlib,分析人员可以方便地进行数据处理和可视化,同时支持Excel和关系型数据库的分析。Tushare覆盖了股票、基金、期货、数字货币等广泛的数据内容,以及基本面数据,如公司财务和基金经理信息,且支持多语言的SDK和RESTful接口,适应不同用户的需求。数据存储选项包括Oracle、MySQL、MongoDB、HDF5和CSV,确保了数据获取的性能和便利性。
安装Tushare依赖环境只需执行pip install tushare,查看版本信息时,导入并打印tushare的__version__属性即可。以下是使用Tushare获取股票数据的步骤:
⑥ mysql怎么做股票数据库
#!/usr/bin/python
# -*- coding: UTF-8 -*-
import tushare as ts
from sqlalchemy import create_engine
code_list = []
#数据库链接参数
host = '10.0.0.5'
port = 3306
user = 'root'
password = 'qweqwe'
database = 'stock'
charset = "utf8"
table = "stock_data"
# create table stock_data(id int auto_increment,code int(6) zerofill,date date not null,open decimal(10,2) not null,high decimal(10,2) not null,close decimal(10,2) not null,low decimal(10,2) not null,volume decimal(10,2),turnover decimal(10,2),primary key (id),index(code),index(date),index(open),index(high),index(close),index(low));
def get_data (code):
df = ts.get_hist_data(code)
data = df.iloc[::-1, [0, 1, 2, 3, 4, 13]]
data["code"] = code
return data
def save_data_to_mysql (data,user = 'root',password = 'qweqwe',database = 'stock',charset = "utf8",table = "stock_data"):
engine = create_engine('mysql://' + user + ':' + password + '@' + host + '/' + database + '?charset=' + charset)
data.to_sql(table, engine, if_exists='append')
return
for code in code_list:
try:
data = get_data(code)
save_data_to_mysql(data)
print str(code) + "导入mysql成功"
except:
print str(code) + "获取数据失败"