IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> python判断神奇九转-akshare -> 正文阅读

[Python知识库]python判断神奇九转-akshare

Python 判断神奇九转 -akshare

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

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

import akshare as ak
import sys
import requests
import datetime


def stock_is_trade_date(query_date):
    """
    是否为 交易日
    :param query_date: 日期,如 2020-10-01
    :return: 1:是,0:不是
    """
    weekday = query_date.isoweekday()
    hour = query_date.hour
    print('时间:={0} 星期:={1} 小时:={2}'.format(query_date, weekday, hour))
    if weekday <= 5 and hour >= 9 and hour < 15:
        return 1
    else:
        print('非交易时间')
        return 0


def 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 = True
        is_down = True

        for 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 = True
    is_down = True
    stock_data = stock_data[stock_data['day'] < date].sort_values(by='day', ascending=False).iloc[:13].values.tolist()

    if (len(stock_data) < 13):
        return False, False

    for 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 = False
    return is_up, is_down


if __name__ == "__main__":
    # 从命令行获取股票代码 如 python akshare01.py SH513050
    print('订阅代码' + sys.argv[1:][0])
    if stock_is_trade_date(datetime.datetime.now()):
        main(sys.argv[1:][0])
  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2021-08-22 13:29:59  更:2021-08-22 13:31:00 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 10:28:11-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码