python在股市有什么作用_一颗韭菜的自我修养:用Python分析下股市,练练

​股市跌宕起伏。7 月初 A 股飙升,从 3000 点一路涨到 3450 点。股票瞬间成为大家的热门讨论话题,「你看我还有机会吗?」几乎成为新的问候语。

但是就在上周四,A 股午后重挫,大盘绿油油一片,沪指跌 4.50%,深成指跌 5.37%,创业板指跌 5.93%,254 股跌停,A股蒸发 3 万亿,股民人均亏超 2 万。

怎么捉住时机上车,盈利下车?有没有什么方法可以帮助你做决策呢?

最近,一位常年研究股票系统的开发者 pythonstock 用 Python 写了一个股票分析系统,发布数天就获得了不少关注。

项目开始作者就特别提示了风险,「本项目只能用于 Python 代码学习,股票分析,投资失败亏钱不负责,不算 BUG。」

项目简介

PythonStock V1 是基于Python的pandas,tushare,bokeh,tornado,stockstats,ta-lib等框架开发的全栈股票系统。它具备以下特点:可以使用docker直接本地部署运行,整个项目在docker hub上压缩后200MB,本地占用500MB磁盘空间。

使用Docker解决了Python库安装问题,使用Mariadb(MySQL)存储数据。借助tushare抓取数据(老API,后续使用tushare pro开发)

使用corn做定时任务,每天进行数据抓取计算,每天18点开始进行数据计算,计算当日数据,使用300天数据进行计算,大约需要15分钟计算完毕。

股票数据接口防止被封,按天进行数据缓存,储存最近3天数据,每天定时清除,同时使用read_pickle to_pickle 的gzip压缩模式存储。

使用tornado开发web系统,支持股票数据,沪深300成份股,中证500成份股,龙虎榜数据,每日股票数据,每日大盘指数行情等

数据展示系统,是通用数据展示系统,配置字典模板之后,页面自动加载数据,并完成数据展示,后续自己开发的指标数据可以加入进去。

增加曲线数据分析,在查看股票中,可以直接跳转到东方财富页面查看相关信息,点击指标之后使用Bokeh将多达 17 个指标的数据绘图,进行图表展示。

股票系统如下图所示:

指标数据

每日股票指标数据总共17个指标,下面只列出三个关键指标数据。随机指标(KDJ)一般是根据统计学的原理,通过一个特定的周期(常为9日、9周等)内出现过的最高价、最低价及最后一个计算周期的收盘价及这三者之间的比例关系,来计算最后一个计算周期的未成熟随机值RSV,然后根据平滑移动平均线的方法来计算K值、D值与J值,并绘成曲线图来研判股票走势。在使用中,常有J线的指标,即3乘以K值减2乘以D值(3K-2D=J),其目的是求出K值与D值的最大乖离程度,以领先KD值找出底部和头部。J大于100时为超买,小于10时为超卖。相对强弱指标(Relative Strength Index,简称RSI),也称相对强弱指数。(1)强弱指标保持高于50表示为强势市场,反之低于50表示为弱势市场。(2)强弱指标多在70与30之间波动。当六日指标上升到达80时,表示股市已有超买现象,如果一旦继续上升,超过90以上时,则表示已到严重超买的警戒区,股价已形成头部,极可能在短期内反转回转。(3)当六日强弱指标下降至20时,表示股市有超卖现象,如果一旦继续下降至10以下时则表示已到严重超卖区域,股价极可能有止跌回升的机会。顺势指标又叫CCI指标,其英文全称为“Commodity Channel Index”, 是由美国股市分析家唐纳德·蓝伯特(Donald Lambert)所创造的,是一种重点研判股价偏离度的股市分析工具。(1)当CCI指标从下向上突破﹢100线而进入非常态区间时,表明股价脱离常态而进入异常波动阶段, 中短线应及时买入,如果有比较大的成交量配合,买入信号则更为可靠。(2)当CCI指标从上向下突破﹣100线而进入另一个非常态区间时,表明股价的盘整阶段已经结束, 将进入一个比较长的寻底过程,投资者应以持币观望为主。

我在一周前的一篇文章中对KDJ和RSI指标有详细的介绍。面对股市大跌,接下来这么做就对了​mp.weixin.qq.comc23847bb003058631f7c365ff79b1acf.png

然后根据KDJ、RSI和CCI 3 个指标进行股票数据计算:

KDJ

1.超买区:K值在80以上,D值在70以上,J值大于90时为超买。一般情况下,股价有可能下跌。投资者应谨慎行事,局外人不应再追涨,局内人应适时卖出。

2.超卖区:K值在20以下,D值在30以下为超卖区。一般情况下,股价有可能上涨,反弹的可能性增大。局内人不应轻易抛出股票,局外人可寻机入场。

RSI

1.当六日指标上升到达80时,表示股市已有超买现象,如果一旦继续上升,超过90以上时,则表示已到严重超买的警戒区,股价已形成头部,极可能在短期内反转回转。

2.当六日强弱指标下降至20时,表示股市有超卖现象,如果一旦继续下降至10以下时则表示已到严重超卖区域,股价极可能有止跌回升的机会。

CCI

1.当CCI>﹢100时,表明股价已经进入非常态区间——超买区间,股价的异动现象应多加关注。

2.当CCI<﹣100时,表明股价已经进入另一个非常态区间——超卖区间,投资者可以逢低吸纳股票。

购买条件结果表:guess_indicators_lite_buy_daily。

购买条件结果表:guess_indicators_lite_sell_daily。

使用方法下载 mariadb 和 stock 两个镜像

mkdir -p /data/mariadb/data

docker pull pythonstock/pythonstock:latest

docker pull mariadb:latest启动镜像

docker run --name mariadb -v /data/mariadb/data:/var/lib/mysql \

-e MYSQL_ROOT_PASSWORD=mariadb -p 3306:3306 -d mariadb:latest

docker run -itd --link=mariadb --name stock \

-v /data/notebooks:/data/notebooks \

-p 8888:8888 \

-p 9999:9999 \

pythonstock/pythonstock:latest创建数据库

CREATE DATABASE IF NOT EXISTS `stock_data` CHARACTER SET utf8 COLLATE utf8_general_ci;在stock容器内运行一个终端

docker exec -it stock bash

sh /data/stock/jobs/cron.daily/run_daily

启动容器后,会调用run_init.sh 进行数据初始化,同时第一次执行后台抓取当日数据,数据库中会生成三张表ts_index_all,ts_today_all,guess_indicators_daily。 以后每日18点(只有18点左右才有今日的数据)进行股票数据抓取并计算。

ts_index_all:指数行情数据

ts_today_all:股票行情数据

guess_indicators_daily:指标数据

此外,项目作者还介绍了该股票系统设计原理、架构设计原理、应用部署要点等知识,具体使用和部署方法参见 GitHub 项目页面。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值