Python 判断神奇九转 -akshare

最近一段时间开始想试着了解一下量化交易方面的策略,近期会做一些相关的记录
AKShare 一个开源财经数据接口,我们可以通过他来获取一些需要的股票数据

内容首发余我的博客 https://fanfpy.top/index.php/archives/79/

import akshare as ak
import sys
import requests
import datetimedef stock_is_trade_date(query_date):"""是否为 交易日:param query_date: 日期,如 2020-10-01:return: 1:是,0:不是"""weekday = query_date.isoweekday()hour = query_date.hourprint('时间:={0} 星期:={1} 小时:={2}'.format(query_date, weekday, hour))if weekday <= 5 and hour >= 9 and hour < 15:return 1else:print('非交易时间')return 0def main(stock_code):if stock_code is not None:stock_zh_a_minute_df = ak.stock_zh_a_minute(symbol=stock_code, period='5', adjust="qfq")# 排序 取最近20个分时的记录 来判断是否满足 神奇九转的规则data = stock_zh_a_minute_df.sort_values(by='day', ascending=False).iloc[:20]data_list = data.values.tolist()is_up = Trueis_down = Truefor index, item in enumerate(data_list[:9]):# print('时间:{0} ,收盘价:{1},对应前第四个分时的收盘价:{2}'.format(item[0],item[4],data_list[index+4][4]))# 是否连续九个交易分时都比前面第4交易的收盘价低 if float(item[4]) < float(data_list[index + 4][4]):is_up = False# 是否连续九个交易分时都比前面第4交易的收盘价高if float(item[4]) > float(data_list[index + 4][4]):is_down = False# 输出结果# 假如触底或触顶if is_up or is_down:print('分时{0}满足神奇九转条件 {1} 价格:{2}<br/>'.format(item[0], '触顶' if is_up else '触底', item[4]))# 在这里你可以通过一些第三方手段来通知自己 比如server酱之类的def is_demark_dequential(stock_data, date):# 判断当前时间节点是否满足神奇九转is_up = Trueis_down = Truestock_data = stock_data[stock_data['day'] < date].sort_values(by='day', ascending=False).iloc[:13].values.tolist()if (len(stock_data) < 13):return False, Falsefor index, item in enumerate(stock_data[:9]):# print('时间:{0} ,收盘价:{1},对应前第四个分时的收盘价:{2}'.format(item[0],item[4],stock_data[index+4][4]))# 是否连续九个交易分时都比前面第4交易的收盘价低 if float(item[4]) - 0.001 < float(stock_data[index + 4][4]):is_up = False# 是否连续九个交易分时都比前面第4交易的收盘价高if float(item[4]) + 0.001 > float(stock_data[index + 4][4]):is_down = Falsereturn is_up, is_downif __name__ == "__main__":# 从命令行获取股票代码 如 python akshare01.py SH513050print('订阅代码' + sys.argv[1:][0])if stock_is_trade_date(datetime.datetime.now()):main(sys.argv[1:][0])

python判断神奇九转-akshare相关推荐

  1. 58元/月,支付宝的付费选股指标「神奇九转」有用吗?

    引言: 邢不行的系列帖子"量化小讲堂",通过实际案例教初学者使用python进行量化投Z,了解行业研究方向 这是邢不行第90期量化小课堂分享 作者 l 邢不行 听说现在年轻人不喜欢 ...

  2. python判断对错题_python 初学者错题本

    我是一个python初学者,所以有一些初学者的总结供初学者参考. 首先要安装软件,我安装的是python3.8,直接在官网下载,参考网上的安装教程很简单.加入开课吧学习后,才发现还有pycharm这个 ...

  3. python自动化办公入门书籍-Python如此神奇,让繁琐工作自动化 (文中含Python基础)...

    原标题:Python如此神奇,让繁琐工作自动化 (文中含Python基础) "你在2个小时里完成的事,我们3个人要做两天."21世纪早期,我的大学室友在一个电子产品零售商店工作.商 ...

  4. python 判断字典是否包含某个key,以及对应的value 值

    python 判断字典是否包含某个key 可以使用 in 来判断 具体如下: num = {"a": 1, "b": 2, "c": 3} ...

  5. Python 判断当前数值的类型(比如x=10 获取x的类型)

    python 判断当前数值的类型使用type 先面集体说下type 的使用 x = 10 x = type(x) print (x) y = "10" y = type(y) pr ...

  6. 使用Python判断俩张图像相同或以某种方式相似

    使用Python判断俩张图像相同或以某种方式相似 1. 均方误差(MSE) 2. 结构相似性指数(SSIM) 3. 效果图 4. 总结 参考 比较图像有俩种方案: 使用图像哈希/感知哈希/差分哈希比较 ...

  7. python判断一个数是整数、浮点数还是字符串

    python判断一个数是整数.浮点数还是字符串 示例代码:

  8. python判断是否回文_对python判断是否回文数的实例详解

    设n是一任意自然数.若将n的各位数字反向排列所得自然数n1与n相等,则称n为一回文数.例如,若n=1234321,则称n为一回文数:但若n=1234567,则n不是回文数. 上面的解释就是说回文数和逆 ...

  9. php判断网页编码,python判断网页编码的方法

    在web开发的时候我们经常会遇到网页抓取和分析,各种语言都可以完成这个功能.我喜欢用python实现,因为python提供了很多成熟的模块,可以很方便的实现网页抓取. 但是在抓取过程中会遇到编码的问题 ...

最新文章

  1. php psr2规范,PhpStorm集成PSR2代码自动检查 | 吴文辉博客
  2. 最新Pycharm开发工具安装步骤,四大步骤就能学会
  3. NanoPi NEO Air使用四:操作GPIO
  4. 13.7.深入理解jstack日志
  5. jffs2 启动的常见的问题
  6. commix 命令注入获取信息 (好东西)
  7. 路由器上IPSEC ×××
  8. 在IDEA中设置自己的名字和时间
  9. java string 精度_Java 中的浮点数取精度方法
  10. 5月16日上午学习日志
  11. SQL 中With as 的用法
  12. nginx负载两台服务器
  13. ic读卡器设置工具_每日学习:数字IC设计EDA软件教程整理
  14. iOS 开发 初级:应用内购买 In-App Purchase
  15. 非线性光纤光学——光孤子4
  16. 慕课课程《简明世界史》课堂笔记二
  17. 建立syslink双核工程和make运行
  18. 2022劳务员-岗位技能(劳务员)考试模拟100题及在线模拟考试
  19. Python之数据库编程
  20. 纯css实现粒子效果

热门文章

  1. 聚焦科研发展,羽素携手暨大生科院开启护肤新时代
  2. vscode的安装、切换为中文简体、集成sass
  3. windows10网络看不到其他计算机,win10家庭版局域网看不到其他电脑怎么办
  4. QUIC详解(基于UDP的低延时网络传输层协议)
  5. web自动化如何在不同浏览器运行_2020自动化测试岗位需求的7项必备技能(更新版)...
  6. Hdu 4604 DP
  7. 使用Hutool插入图片到Excel
  8. 使用js把1、2、3转换为一、二、三
  9. Pytorch框架之优化器 Optimizer
  10. You could try using --skip-broken to work around the problem Found 6 pre-existing rpmdb problem(s)