K线形态识别_身怀六甲和十字胎

news2024/11/27 1:40:36

写在前面:
1. 本文中提到的“K线形态查看工具”的具体使用操作请查看该博文;
2. K线形体所处背景,诸如处在上升趋势、下降趋势、盘整等,背景内容在K线形态策略代码中没有体现;
3. 文中知识内容来自书籍《K线技术分析》by邱立波。

目录

解说

技术特征

技术含义

K线形态策略代码

结果


解说

        身怀六甲,又称母子线、孕线,因其K线形态好像一个怀胎的孕妇而得名。身怀六甲由实体一长一短的两根K线组成,其中第二根较短的K线实体完全被第一根较长的K线实体包容。当第二根K线是十字线时,称为十字胎。

技术特征

1)既可以出现在上涨趋势中,也可以出现在下跌趋势中。

2)由两根K线组成,第一根较长的K线实体完全包容第二根较短的K线实体。

3)两根K线可以是一阴一阳,也可以是两根阳线或阴线。

4)第二根K线可以是小阴线、小阳线,也可以是十字线。

技术含义

1)大幅上涨后出现身怀六甲是见顶信号,后市看淡。

2)出现大幅下跌后是见底信号。

3)十字胎和身怀六甲的技术含义相同,是身怀六甲中信号最强的K线组合,这是因为单根的十字线本身就具有见顶和见底的意味。

K线形态策略代码

def excute_strategy(daily_file_path):
    '''
    名称:身怀六甲和十字胎
    识别:
    1. 第二根K线实体完全被第一根较长的K线实体包容,第二根K线是小阴线、小阳线
    2. 第二根K线是十字线
    前置条件:计算时间区间 2021-01-01 到 2022-01-01
    :param daily_file_path: 股票日数据文件路径
    :return:
    '''
    import pandas as pd
    import os

    start_date_str = '2021-01-01'
    end_date_str = '2022-01-01'
    df = pd.read_csv(daily_file_path,encoding='utf-8')
    # 删除停牌的数据
    df = df.loc[df['openPrice'] > 0].copy()
    df['o_date'] = df['tradeDate']
    df['o_date'] = pd.to_datetime(df['o_date'])
    df = df.loc[(df['o_date'] >= start_date_str) & (df['o_date']<=end_date_str)].copy()
    # 保存未复权收盘价数据
    df['close'] = df['closePrice']
    # 计算前复权数据
    df['openPrice'] = df['openPrice'] * df['accumAdjFactor']
    df['closePrice'] = df['closePrice'] * df['accumAdjFactor']
    df['highestPrice'] = df['highestPrice'] * df['accumAdjFactor']
    df['lowestPrice'] = df['lowestPrice'] * df['accumAdjFactor']

    # 开始计算
    df['type'] = 0
    df.loc[df['closePrice']>=df['openPrice'],'type'] = 1
    df.loc[df['closePrice']<df['openPrice'],'type'] = -1

    df['body_length'] = abs(df['closePrice']-df['openPrice'])

    df['second_yeah'] = 0
    df.loc[df['body_length']/df['closePrice'].shift(1)<0.015,'second_yeah'] = 1

    df['sort_type'] = 0
    # 阳 阳
    df.loc[(df['type']==1) & (df['type'].shift(1)==1),'sort_type'] = 1
    # 阳 阴
    df.loc[(df['type'] == 1) & (df['type'].shift(1) == -1), 'sort_type'] = 2
    # 阴 阳
    df.loc[(df['type'] == -1) & (df['type'].shift(1) == 1), 'sort_type'] = 3
    # 阴 阴
    df.loc[(df['type'] == -1) & (df['type'].shift(1) == -1), 'sort_type'] = 4

    df['signal'] = 0
    df['signal_name'] = ''
    df.loc[(df['sort_type']==1) & (df['second_yeah']==1) & (df['closePrice']<df['closePrice'].shift(1)) & (df['openPrice']>df['openPrice'].shift(1)),'signal'] = 1
    df.loc[(df['sort_type']==1) & (df['second_yeah']==1) & (df['closePrice']<df['closePrice'].shift(1)) & (df['openPrice']>df['openPrice'].shift(1)),'signal_name'] = '阳 阳'
    df.loc[(df['sort_type']==2) & (df['second_yeah']==1) & (df['closePrice']<df['openPrice'].shift(1)) & (df['openPrice']>df['closePrice'].shift(1)),'signal'] = 1
    df.loc[(df['sort_type']==2) & (df['second_yeah']==1) & (df['closePrice']<df['openPrice'].shift(1)) & (df['openPrice']>df['closePrice'].shift(1)),'signal_name'] = '阳 阴'
    df.loc[(df['sort_type']==3) & (df['second_yeah']==1) & (df['openPrice']<df['closePrice'].shift(1)) & (df['closePrice']>df['openPrice'].shift(1)),'signal'] = 1
    df.loc[(df['sort_type']==3) & (df['second_yeah']==1) & (df['openPrice']<df['closePrice'].shift(1)) & (df['closePrice']>df['openPrice'].shift(1)),'signal_name'] = '阴 阳'
    df.loc[(df['sort_type']==4) & (df['second_yeah']==1) & (df['openPrice']<df['openPrice'].shift(1)) & (df['closePrice']>df['closePrice'].shift(1)),'signal'] = 1
    df.loc[(df['sort_type']==4) & (df['second_yeah']==1) & (df['openPrice']<df['openPrice'].shift(1)) & (df['closePrice']>df['closePrice'].shift(1)),'signal_name'] = '阴 阴'

    file_name = os.path.basename(daily_file_path)
    title_str = file_name.split('.')[0]

    line_data = {
        'title_str':title_str,
        'whole_header':['日期','收','开','高','低'],
        'whole_df':df,
        'whole_pd_header':['tradeDate','closePrice','openPrice','highestPrice','lowestPrice'],
        'start_date_str':start_date_str,
        'end_date_str':end_date_str,
        'signal_type':'duration',
        'duration_len':[2],
        'temp':len(df.loc[df['signal']==1])
    }
    return line_data

结果

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/4122.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

双非本计算机从零开始三年努力能做到什么程度【学习路线回顾总结问答】

文章目录前言一、回顾大学1.1 大一上1.1.1 第一个学期1.1.2 第一个寒假1.2 大一下1.2.1 第二个学期1.2.2 第一个暑假1.3 大二上1.3.1 第三个学期1.3.2 第二个寒假1.4 大二下1.4.1 第四个学期1.4.2 第二个暑假1.5 大三上1.5.1 第五个学期1.5.2 第三个寒假1.6 大三下1.6.1 第六个…

3.1 机器学习 --- 决策树

3.1 机器学习 — 决策树 一 金融评分卡 模型做好后尽量快的上线&#xff0c;以符合要求的模型&#xff0c;尽快上线。超参数赋予权重&#xff0c;使得模型的参数不一致&#xff0c;而达到均衡样本数据 二 决策树原理 1. 找女朋友 性别&#xff1a;男 女年龄&#xff1a;20…

二叉树跟前缀、中缀、后缀表达式

目录 一.概念 二.跟二叉树的联系 前序遍历&#xff08;先根遍历&#xff09; 中序遍历&#xff08;中根遍历&#xff09; 后序遍历&#xff08;后根遍历&#xff09; 二叉树例题 三.知二求一并还原二叉树 已知前序遍历和中序遍历 例题 解答 已知中序遍历和后序遍历 …

【双十一特辑】爱心代码(程序员的浪漫)

个人主页&#xff1a;天寒雨落的博客_CSDN博客-C,CSDN竞赛,python领域博主 目录 前言 C语言简易爱心代码 原理 代码 执行结果 C语言动态爱心代码 涉及知识点 SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),字体色) sheep() 代码 执行结果 Python简易爱…

c++数据结构第六周(图),深搜、广搜(stl版)

本方法皆用vector进行邻接表模拟 7-1 图的先深搜索 作者 唐艳琴 单位 中国人民解放军陆军工程大学 输出无向图的给定起点的先深序列。 输入格式: 输入第一行给出三个正整数&#xff0c;分别表示无向图的节点数N&#xff08;1<N≤10&#xff09;、边数M&#xff08;≤50&a…

CentOS7.x部署GreenPlum6.x

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录前言一、GreenPlum是什么&#xff1f;二、使用步骤1.环境说明2.集群介绍3.修改主机名(root)4.网络映射(root)5.创建安装目录6.安装部署7.SSH (免密登录)8.环境配置9.…

【SOLIDWORKS学习笔记】制作小风扇摇头底座(下)--- 细节优化

介绍&#xff1a;俗话说的好&#xff0c;电控决定机器人下限&#xff0c;机械决定机器人上限。作为一个在电控领域摸打滚爬了三年的选手&#xff0c;一直非常心动那些酷炫的机械模型&#xff0c;但是一直以来只能做甲方给别人提需求&#xff0c;做不到自己动手实现。所以我打算…

ES6学习24~47

2.14 Promise 2.14.1 什么是Promise Promise是ES6引入的异步编程的新解决方案。语法上Promise是一个构造函数,用来封装异步操作并可以获取其成功或失败的结果。 Promise 构造函数: Promise (excutor) {}Promise.prototype.then 方法Promise.prototype.catch 方法 2.14.2 pr…

假脱机技术——实现独占设备变成共享设备

文章目录什么是脱机技术假脱机技术——SPOOLing输入井和输出井输入进程与输出进程输入输出缓冲区共享打印机原理分析—假脱机技术的一种应用什么是脱机技术 因为我们的手工操作阶段&#xff0c;主机之间从I/O设备获得数据&#xff0c;由于设备由人工操作&#xff0c;主机速度很…

Android Studio打造一个小说阅读App

应用目录一、基本信息二、功能介绍1. 主界面2. 排行榜界面3. 分类界面4. 搜索界面5. 书籍详情界面6. 阅读界面7. 相关书籍界面三、类图/时序图/架构图四、采用技术及原因1.ViewPagerFragment的使用2.RadioGroup实现导航栏3.Retrofit的网络加载框架4.设置同步变量控制线程顺序5.…

【测试沉思录】12. 可用性保障平台的自动化测试探索与实践

欢迎订阅我的新专栏《现代命令行工具指南》&#xff0c;精讲目前最流行的开源命令行工具&#xff0c;大大提升你的工作效率。 作者&#xff1a;张雅瑜 编辑&#xff1a;毕小烦 一. 背景 随着业务的发展&#xff0c;应用越来越多&#xff0c;并且承载的业务量越来越大&#xff…

推箱子游戏设计与实现(Java+swing+JAWT)

目 录 摘 要 i Abstract ii 引 言 1 1 系统分析 2 1.1 技术可行性分析 2 1.1.1 可行性目的 2 1.1.2 可行性研究前提 2 1.1.3 算法可行性分析 2 1.1.4 平台选择 6 1.2 需求分析 6 1.2.1 引言 6 1.2.2 游戏需求 6 1.2.3 软硬件需求 9 1.2.4 接口控制 10 1.3 方案论证 10 1.3.1 C语…

JCDY-2A DC220V【直流高低值电压继电器】

系列型号 JCDY-2A/220V直流高低值电压继电器&#xff1b;JCDY-2A/110V直流高低值电压继电器&#xff1b; JCDY-2A/48V直流高低值电压继电器&#xff1b;JCDY-2B/220V直流高低值电压继电器&#xff1b; JCDY-2B/110V直流高低值电压继电器&#xff1b;JCDY-2B/48V直流高低值电压继…

MongoDB工具命令和用户认证

1.MongoDB工具命令 文章目录1.MongoDB工具命令1.1.Mongod命令1.2.Mongos命令1.3.Mongostat命令1.4.Mongotop命令1.5.Mongooplog命令1.6.Mongoperf命令2.MongoDB用户认证2.1.创建一个用户2.2.修改配置文件启用用户认证2.3.重启MongoDB2.4.使用用户口令登录MongoDB3.授权用户并赋…

【数据结构】链表OJ第二篇 —— 链表的中间节点 链表中倒数第k个节点 链表分割 链表的回文结构 相交链表

文章目录0. 前言1. 链表的中间节点2. 链表中倒数第k个结点3. 链表分割4. 链表的回文结构5. 相交链表6. 结语0. 前言 书接上回&#xff0c;我们这次依然是为大家带来链表的OJ题。这一次的题量比之前多一些&#xff0c;内容为链表的中间节点、链表中倒数第k个节点、链表分割、链…

安卓讲课笔记5.2 编辑框

文章目录零、本讲学习目标一、导入新课二、新课讲解&#xff08;一&#xff09;继承关系图&#xff08;二&#xff09;编辑框常用属性&#xff08;三&#xff09;教学案例&#xff1a;用户注册1、创建安卓应用2、准备图片素材3、主界面与主布局资源文件更名4、创建息界面类5、字…

数据获取与预处理

文章目录Requests简介Requests库安装Requests库的基本操作Requests库的7个主要方法Request方法get方法Response对象的属性head方法post方法Requests简介 提示&#xff1a;这里可以添加本文要记录的大概内容&#xff1a; 首先他是个第三方库&#xff0c;应用非常广泛 采用Apac…

《数据结构》(六)八大排序(下)

承接上篇的八大排序&#xff0c;今天本篇文章主要讲归并排序&#xff0c;冒泡排序&#xff0c;快速排序(挖坑&#xff0c;左右指针&#xff0c;前指针)和计数排序 八大排序交换排序冒泡排序冒泡排序思想代码冒泡排序总结快速排序快速排序思想三数取中快速排序之挖坑法挖坑法代码…

量化股票查询代码是什么?

量化股票查询代码是什么&#xff1f;接下来用一些代码来分析一下&#xff0c;如下&#xff1a; 做空95&#xff1a;HHV((HIGHLOWOPEN2*CLOSE)/5H-L,5),COLORBLUE;做空68: HHV((HIGH-LOWOPEN2*CLOSE)/5*2-L,5),COLORRED&#xff1b; 平衡点&#xff1a;LLV((HIGHLOWOPEN2*CLOSE…

狗厂员工来面试本想难为一下,问他内存溢出,结果被虐得连console.log也不敢写了

这次说到的面试题是关于node服务端内存溢出的问题&#xff0c;狗厂员工来面试本想难为一下&#xff0c;现在我连console.log也不敢写了 关于这道node内存溢出的问题&#xff0c;大哥从以下几个方面讲的&#xff0c;讲完我觉得自己得到了升华&#xff0c;现在搞得连代码也快不敢…