czsc入门5: Tick RawBar(原始k线) NewBar (新K线)

如果说 BI (笔)和 FX (分型)是高楼大厦,那 Tick 、 RawBar 和 NewBar 就是地基和砖块。

我们按数据的 颗粒度从细到粗 ,也就是数据处理的流水线顺序来讲解。

1. Tick:最原始的交易原子(已过时)

定位 :这是最微观的数据单位,代表交易所撮合的每一笔成交(或快照)。

  • 通俗理解 :就像超市收银台打印的小票,上面记录了"几点几分,卖了什么,多少钱,多少个"。

  • 代码现状 : 请注意! 在 czsc 的这个文件中, Tick 类已经被标记为 @deprecated (已弃用) 。

    • 代码明确写着: reason="请使用 RawBar" 。
    • 这意味着在目前的 czsc 体系中,尽量不要直接用这个类来写策略,只需知道它是最基础的数据概念即可。
  • 代码引用 : objects.py:L24

2. RawBar:原始 K 线(标准砖块)

定位 :这是我们最常见的 K 线(蜡烛图) 。它把一段时间内的 Tick 数据打包汇总了。

  • 通俗理解 :不管这一分钟内发生了多少笔交易,我只关心 4 个价格:

    • O (Open) :开盘价(一开始卖多少钱)
    • H (High) :最高价(最高卖到多少)
    • L (Low) :最低价(最低跌到多少)
    • C (Close) :收盘价(最后定格在多少)
  • 核心属性 :

    • symbol : 股票代码。
    • dt : 时间。
    • freq : 周期(比如 1分钟、5分钟、日线)。
    • open / close / high / low : 四大金刚价格。
    • vol (成交量) / amount (成交额)。
  • 有趣的计算属性 : RawBar 提供了几个方便的属性来描述这根 K 线的"长相":

    • solid (实体) :身体部分。 abs(open - close) ,涨跌的幅度。
    • upper (上影线) :头上的辫子。最高价和实体顶部的距离,代表上方的压力。
    • lower (下影线) :脚下的腿。最低价和实体底部的距离,代表下方的支撑。
  • 代码引用 : objects.py:L32

3. NewBar:去包含 K 线(精炼砖块)

定位 :这是 缠论特有 的 K 线。它是 RawBar 经过"去除包含关系"处理后生成的。

  • 为什么要发明 NewBar ?

    • 在缠论中,如果两根 K 线一根长、一根短,且短的完全被长的包在里面(或者反过来),这叫"包含关系"。
    • 缠论认为这种包含关系是"犹豫不决"的表现,为了分析趋势,需要把它们 合并成一根新的 K 线 ,简化走势。
    • NewBar 就是合并处理后的结果。 所有的后续分析(分型、笔、线段)都是基于 NewBar 进行的,而不是原始的 RawBar 。
  • 核心属性 :

    • 它长得和 RawBar 几乎一样(也有 OHLC 价格),但它的价格是经过合并计算的。
    • elements : 基因记忆 。
      • 这是一个列表,里面装了 构成这根 NewBar 的原始 RawBar 。
      • 比如:有时候 1 根 NewBar 对应 1 根 RawBar (没有包含关系)。
      • 有时候 1 根 NewBar 对应 3 根 RawBar (发生了连续包含合并)。
      • 这个设计保证了数据不丢失,你随时可以查到这根"合成 K 线"背后真实的原始走势。
  • 代码引用 : objects.py:L64

总结:数据的一生

在 czsc 库中,数据流转的过程是这样的:

  1. Tick (原子):市场上发生的每一笔交易。
    ⬇️ (聚合)
  2. RawBar (原始素材):我们看到的普通 K 线图。
    ⬇️ (缠论包含处理)
  3. NewBar (核心建材):去除了噪声的 K 线,用于画图分析。
    ⬇️ (寻找顶底)
  4. FX (分型):3 根 NewBar 构成的山顶或山谷。
    ⬇️ (连接顶底)
  5. BI (笔):一段完整的上涨或下跌趋势。
    一句话总结 : RawBar 是给人看的普通 K 线, NewBar 是给缠论算法看的精简 K 线,而 Tick 在这里只是个过客。
相关推荐
Tisfy10 小时前
LeetCode 0865.具有所有最深节点的最小子树:深度优先搜索(一次DFS + Python5行)
算法·leetcode·深度优先·dfs·题解
Q741_14710 小时前
C++ 队列 宽度优先搜索 BFS 力扣 429. N 叉树的层序遍历 C++ 每日一题
c++·算法·leetcode·bfs·宽度优先
Yzzz-F10 小时前
P4145 上帝造题的七分钟 2 / 花神游历各国[线段树 区间开方(剪枝) + 区间求和]
算法·机器学习·剪枝
Zzz不能停10 小时前
堆排序算法及大小堆区别
数据结构·算法
zd84510150010 小时前
stm32f407 电机多轴联动算法
stm32·单片机·算法
代码游侠10 小时前
应用——Linux FrameBuffer图形显示与多线程消息系统项目
linux·运维·服务器·开发语言·前端·算法
Eloudy10 小时前
矩阵张量积(Kronecker积)的代数性质与定理
算法·量子计算
多米Domi01110 小时前
0x3f 第25天 黑马web (145-167)hot100链表
数据结构·python·算法·leetcode·链表
LYFlied10 小时前
【每日算法】LeetCode 207. 课程表
算法·leetcode·职场和发展