<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>NotDone on aiken&#39;s blog</title>
    <link>https://aikenh.cn/tags/notdone/</link>
    <description>Recent content in NotDone on aiken&#39;s blog</description>
    <generator>Hugo -- 0.137.0</generator>
    <language>en-us</language>
    <lastBuildDate>Sat, 08 Feb 2025 17:39:34 +0000</lastBuildDate>
    <follow_challenge>
      <feedId>90080597450814464</feedId>
      <userId>72439538841050112</userId>
    </follow_challenge>
    <atom:link href="https://aikenh.cn/tags/notdone/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>VPA03-量价分析的全局视角</title>
      <link>https://aikenh.cn/posts/vpa03-%E9%87%8F%E4%BB%B7%E5%88%86%E6%9E%90%E7%9A%84%E5%85%A8%E5%B1%80%E8%A7%86%E8%A7%92/</link>
      <pubDate>Sat, 08 Feb 2025 17:39:34 +0000</pubDate>
      <guid>https://aikenh.cn/posts/vpa03-%E9%87%8F%E4%BB%B7%E5%88%86%E6%9E%90%E7%9A%84%E5%85%A8%E5%B1%80%E8%A7%86%E8%A7%92/</guid>
      <description>Descript for artical</description>
      <content:encoded><![CDATA[<blockquote>
<p>本篇中所有专业人士、做市商、大型操盘手、专业投资者都简单的称之为局内人/庄家，他们就是试图赚取股票的批发和零售差价的商人。于股票市场而言是专业人士、局内人和做市商，对于期货市场则是大型操盘手，而外汇现货市场仍是做市商。</p>
</blockquote>



  
  

<blockquote class="alert-blockquote alert-todo">
  <p class="alert-heading">
    <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" width="16" height="16">
      <path d="M0 8a8 8 0 1 1 16 0A8 8 0 0 1 0 8Zm8-6.5a6.5 6.5 0 1 0 0 13 6.5 6.5 0 0 0 0-13ZM6.5 7.75A.75.75 0 0 1 7.25 7h1a.75.75 0 0 1 .75.75v2.75h.25a.75.75 0 0 1 0 1.5h-2a.75.75 0 0 1 0-1.5h.25v-2h-.25a.75.75 0 0 1-.75-.75ZM8 6a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z"></path>
    </svg>
    <span>Todo</span>
  </p>
  <p>需要对各个阶段的具体表现做一下梳理，各个阶段我们到底希望能在 k 线图中看到什么形态。</p>

</blockquote>
<h2 id="量价分析的全局流程">量价分析的全局流程</h2>
<pre class="mermaid">---
title: 量价分析的三个步骤
---
flowchart LR
A[细致分析单 K 线] --&gt; B[分析最新的几根 k 线] --&gt;C[分析全局趋势]
  </pre>
  <p>前文中已经介绍了量价分析中的前两步，从最新的几条 k 线中获取异常或者反转信号，但还需要从全局趋势中获取当前信号发生所处的点位，从而对信号发生的实际和幅度有所估计，这也是本章要讨论的：<strong>量价分析中的全局视角</strong>。</p>
<blockquote>
<p>要理解专业交易者的做法，投资者应该学会从一个试图以零售价格卖出手中股票存货的商人的角度进行思考，在他们清空货架上的存货的同时，出于盈利的目的，他们将以批发价格买入更多的商品，这是他们调整市场价格的首要目的。</p>
</blockquote>
<p>在进行量价分析中全局视野的学习之前，首先要理解几个基本概念，或者说是商人的几个行动阶段/模式：</p>
<pre class="mermaid">---
title: 局内人的行动模式
---
stateDiagram-V2
  direction LR
  state 吸筹阶段{
    需求测试 --&gt; 吸筹
  	吸筹 --&gt; 买入高峰
  }
  state 派筹阶段{
    供给测试 --&gt; 派筹
  	派筹 --&gt; 抛售高峰
  }
  买入高峰 --&gt; 供给测试
  抛售高峰 --&gt; 需求测试
  </pre>
  <blockquote>
<p>吸筹与派筹在所有时间跨度中无休止的循环往复，有大波动也有小波动,通过因果定律对每次吸筹和派筹的规模进行不同的分析。</p>
</blockquote>
<ul>
<li><a href="%e5%90%b8%e7%ad%b9.md">吸筹阶段</a>
：庄家调整市场试图以批发价买入股票储备的阶段（具体查看吸筹部分的文档）</li>
<li><a href="%e6%b4%be%e7%ad%b9.md">派筹阶段</a>
：庄家抬高股票价格，以零售价卖出手上的筹码（股票储备）的阶段（具体查看派筹部分的文档）</li>
<li><a href="%e4%be%9b%e7%bb%99%e5%92%8c%e9%9c%80%e6%b1%82%e6%b5%8b%e8%af%95.md">供给测试阶段</a>
：为了避免从吸筹阶段转向派筹阶段时，推高股价的过程中遭遇阻碍，卖家过多使得推高过程中价格下跌，需要从头开始吸筹，因此通过供给测试来判断市场上的卖家是否已经被消化，再推动市场进入派筹阶段。</li>
<li><a href="%e4%be%9b%e7%bb%99%e5%92%8c%e9%9c%80%e6%b1%82%e6%b5%8b%e8%af%95.md">需求测试阶段</a>
：和供给测试一体双生，是为了准备从派筹阶段转向吸筹阶段的过程中，降低市场价格的过程中不会受到买压的阻碍，测试市场是否已经准备好走向下跌。</li>
</ul>
<p>这样的吸/派筹阶段和需求/供给测试过程，就是我们在股市中需要寻找的重要信号，而且需要注意的是，<strong>往往在吸筹或者派筹阶段以后会有多次而不是单次的测试</strong>，一次比一次的成交量更低，当<strong>价格突破</strong>了这几次测试造成的<strong>震荡区间</strong>，就说明下一步行动（或者说我们期待的反转，将要到来了）</p>
<blockquote>
<p>在理解抛售高峰和买入高峰的时候，需要注意的是这两个定义并不是针对市场的，而是指的是局内人操作中的买入和抛售高峰。此外在了解这两个概念之前，了解一下附录提到的问题可能对概念的理解有所帮助。</p>
</blockquote>
<ul>
<li><a href="%e6%8a%9b%e5%94%ae%e5%92%8c%e4%b9%b0%e5%85%a5%e9%ab%98%e5%b3%b0.md">抛售和买入高峰</a>
：在<strong>吸筹和派筹最后阶段</strong>的操作，用于清空最后的存货，此时的 k 线会呈现<strong>长影线、低实体、高成交量的特点</strong>。</li>
</ul>
<p>总结一下这几个阶段可能会出现的一些特点：</p>
<table>
  <thead>
      <tr>
          <th style="text-align: center">Stage</th>
          <th style="text-align: center">Feature</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td style="text-align: center">吸筹</td>
          <td style="text-align: center"></td>
      </tr>
      <tr>
          <td style="text-align: center">派筹</td>
          <td style="text-align: center"></td>
      </tr>
      <tr>
          <td style="text-align: center">供给测试</td>
          <td style="text-align: center"></td>
      </tr>
      <tr>
          <td style="text-align: center">需求测试</td>
          <td style="text-align: center"></td>
      </tr>
      <tr>
          <td style="text-align: center">买入高峰</td>
          <td style="text-align: center">低实体、长上影线、高成交量</td>
      </tr>
      <tr>
          <td style="text-align: center">抛售高峰</td>
          <td style="text-align: center">低实体、长下影线、高成交量</td>
      </tr>
  </tbody>
</table>
<ul>
<li><input disabled="" type="checkbox"> 整个局内人的完整工作流程就如下，但是我们需要更加清楚其如何吸引买家、卖家的入场，以及需要梳理一下各个阶段的特点。</li>
</ul>
<img src= https://picture-bed-001-1310572365.cos.ap-guangzhou.myqcloud.com/mac/20250212162238.png height=450px>
<blockquote>
<p>这种周期可以存在于任意时间跨度和任意市场。上述情况可能出现于某一货币对的5分钟图中，可能持续数小时。同样，也可能存在于股票的日线图中，持续数周或数月。可能存在于期货合约的小时图中，这种情况下局内人将是大型操盘手，这一周期可能持续数天至数周。时间尺度并不重要，重要的是威科夫的“因果定律”</p>
</blockquote>
<h2 id="基本场景和概念辨析">基本场景和概念辨析</h2>
<p>这里对上述量化分析的全局视角中的一些情况做补充说明。</p>
<h3 id="吸筹和派筹中的目标价值区间是如何确定的">吸筹和派筹中的目标价值区间是如何确定的</h3>



  
  

<blockquote class="alert-blockquote alert-summary">
  <p class="alert-heading">
    <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" width="16" height="16">
      <path d="M0 8a8 8 0 1 1 16 0A8 8 0 0 1 0 8Zm8-6.5a6.5 6.5 0 1 0 0 13 6.5 6.5 0 0 0 0-13ZM6.5 7.75A.75.75 0 0 1 7.25 7h1a.75.75 0 0 1 .75.75v2.75h.25a.75.75 0 0 1 0 1.5h-2a.75.75 0 0 1 0-1.5h.25v-2h-.25a.75.75 0 0 1-.75-.75ZM8 6a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z"></path>
    </svg>
    <span>Summary</span>
  </p>
  <p>他们并不是提前计算好目标价值区间的值，而是局内人清楚每次市场震荡时，当前价格所处的位置，即是停滞或是要发生反转。</p>

</blockquote>
<p>在任意的价格图表中，都会存在价格震荡区域，在这些区域中可以认为是一些超买或者超卖的时刻，在这种区域，市场要么在寻找阻力位，要么在寻找支撑位，他们共同定义了一道价值屏障，在这里趋势<strong>要么延续，要么反转</strong>；</p>
<p>局内人正是清楚这些区间所在的位置（是一个原先趋势的短暂停滞，还是一个新的趋势形成了），因此将这些区间作为天然的吸筹和派筹的区间。</p>
<p>以一个派筹阶段为例，我们看抛售高峰中究竟发生了什么：</p>
<ol>
<li>市场本身上涨多时，随着利好信息的加速，市场进入目标区间，出现<strong>超买/卖情况</strong>中；</li>
<li>开始行动：<strong>正面消息支撑，牛市趋势上升，点位停滞派</strong>筹；</li>
<li>初始阶段为<strong>自然阶段</strong>：由局内人驱动的牛市动能自然而然的带动市场上升，成交量高（于平均值）但是不突出，该阶段局内人<strong>仅需满足投资者和投机者的需求卖出</strong>即可。</li>
<li>后期的<strong>抛售高峰</strong>：为局内人<strong>主要发力的阶段，市场非常弱势</strong>，买方被卖方淹没，这时局内人需要不顾一切的支撑市场（利好消息等），甚至推高价格，并开始大量抛售。（他们的卖盘本身会使得价格下跌，为了市场不向不利的方向运动，做市商的努力最终就会导向那个 k 线图。）</li>
</ol>
<p>还是一直反复说的，<strong>大买盘或者卖盘都会直接对价格造成对自己不利的影响，因此需要隐蔽或者拆分成小笔的去进行</strong>，也就是为什么行动会被分散在同一个时期的不同时间点。</p>
<h2 id="附录-1-常见问题">附录 1 常见问题</h2>
<h3 id="为什么上涨总是比下跌需要更多的时间">为什么上涨总是比下跌需要更多的时间</h3>
<p>从局内人的角度出发，，此外考虑到心理学的以下要素，可以知道太迅猛的涨跌和频繁的波动将会吓跑投资者，这并不是局内人乐意见到的。</p>
<ul>
<li><strong>贪婪与恐惧的不对称性</strong>：投资者在盈利时倾向于逐步获利了结（导致上涨缓慢），而在亏损时因恐慌可能集中抛售（加速下跌）。行为金融学中的<strong>损失厌恶理论</strong>表明，人们对损失的敏感度远高于同等收益，这放大了下跌时的抛售压力。</li>
<li><strong>预期形成机制</strong>：上涨趋势需要持续的利好信息积累信心，而负面消息可能迅速摧毁市场共识。</li>
</ul>
<p>因此局内人会通过缓慢的推高市场，然后逐渐加大脚步，使买家逐渐建立起信心，并产生市场具备向上的动量的错觉，由此来吸引买方；并且局内人也希望自己隐蔽自己的意图，一次性大量的成交会造成大量的价格波动，且会吸引注意，因此需要徐徐图之。</p>
<p>整个<strong>上涨流程就是通过 FOMO 情绪</strong>：上涨趋势开始加快步伐，价格逐级抬升，短暂停滞，小级别反转，吸引买方，同时引诱他人，然后继续上涨，直到接近派筹区域，其中因卖方了结利润所造成的小级别反转而小幅增加，帮助维持派筹行动最后一阶段的持仓水平。这正是市场在经历一系列更高的高点和低点、伴随短暂停滞和小幅回撤、继续上涨的原因。（因为有其余卖方的存在？）</p>
<p>而<strong>更好的下跌方式就是制造恐慌</strong>，利用厌恶损失的心里来造成大规模的连锁反应迅速下跌。</p>
<h3 id="填满仓库和清空仓库一般需要多久">填满仓库和清空仓库一般需要多久</h3>
<p>这个问题的答案就是<strong>这些周期存在于任意时间跨度下</strong>，从跳动点图，到1分钟图、 15分钟和60分钟图，然后到日线图、周线以及月线图。理解这一点的最好方法就是想想一个俄罗斯套娃：</p>
<ul>
<li>首先，这些周期存在于所有时间跨度，其次，通过观察多个时间跨度下的价格行为，你将可以发现这些是如何形成、呈现以及相互间确认的。一个在1分钟图中已经开始的周期，可能会在5分钟图中慢慢显现，也可能在15分钟图中刚刚发展。</li>
</ul>
<p>虽然这些阶段在所有的时间周期中都存在，但是从某种意义上讲，短期或长期的图表都能提供微观的、远视的视角以观察已经发生的事件。在分析中，<strong>我们需要结合这两者，才能做出投资方面的理性决策</strong>。</p>
<p>因此我们需要通过短或者极短的时间跨度下观察市场的微观结构，然后用更长的时间跨度来给予我们更宽广的视角来观察量价关系。再次强调，这些都是相对的，对于一个超短线交易者而言，这可能是5分钟、 15分钟或者60分钟图。而一个波段交易者可能会考虑60分钟、 240分钟和日线图。一个趋势交易者可能会使用4小时、日线以及周线图。</p>
<h3 id="高频交易的策略类型">高频交易的策略类型</h3>
<ul>
<li>做市：与传统的做市行为一样，这一策略通过为市场双方提供流动性以此赚取差价从而获利。</li>
<li>套利：当套利机会出现时交易（例如：指数、交易型开放式指数基金以及美国存托凭证与它们各自基础资产间的错配定价）。</li>
<li>结构性策略：这些策略通过寻找从市场或者特定交易者的结构性弱点进而占取先机，包括潜伏套利和塞单交易。</li>
<li>方向性策略：这些策略试图抢在价格变动前，或者直接引发价格变动，包括指令占先和趋势引发。</li>
</ul>
<h3 id="市场操纵是否意味着局内人可以任意操控价格变动">市场操纵是否意味着局内人可以任意操控价格变动</h3>
<p>局内人并不能任意操纵价格的变动，这里市场操纵的本质是通过引发投资者的恐惧与贪婪情绪来影响市场价格走势，而不是直接操控价格。局内人（如专业人士和做市商）无法垄断市场，他们只能协同作战并利用所有可用资源（如媒体新闻）来 manipulating 市场情绪，从而推动价格向其预期方向移动。成交量是确认局内人是否参与价格变动的关键指标，高成交量在买入或卖出高峰时会揭示他们的操作行为。</p>
]]></content:encoded>
    </item>
    <item>
      <title>VPA02-从价格行为交易开始</title>
      <link>https://aikenh.cn/posts/vpa02-%E4%BB%8E%E4%BB%B7%E6%A0%BC%E8%A1%8C%E4%B8%BA%E4%BA%A4%E6%98%93%E5%BC%80%E5%A7%8B/</link>
      <pubDate>Tue, 21 Jan 2025 14:30:36 +0000</pubDate>
      <guid>https://aikenh.cn/posts/vpa02-%E4%BB%8E%E4%BB%B7%E6%A0%BC%E8%A1%8C%E4%B8%BA%E4%BA%A4%E6%98%93%E5%BC%80%E5%A7%8B/</guid>
      <description>Descript for artical</description>
      <content:encoded><![CDATA[


  
  

<blockquote class="alert-blockquote alert-summary">
  <p class="alert-heading">
    <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" width="16" height="16">
      <path d="M0 8a8 8 0 1 1 16 0A8 8 0 0 1 0 8Zm8-6.5a6.5 6.5 0 1 0 0 13 6.5 6.5 0 0 0 0-13ZM6.5 7.75A.75.75 0 0 1 7.25 7h1a.75.75 0 0 1 .75.75v2.75h.25a.75.75 0 0 1 0 1.5h-2a.75.75 0 0 1 0-1.5h.25v-2h-.25a.75.75 0 0 1-.75-.75ZM8 6a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z"></path>
    </svg>
    <span>Summary</span>
  </p>
  <p>从交易员从场内到线上的转变为引，引出线上交易缺少对市场情绪的感知，因此需要通过成交量来补齐这一信息；此外以价格行为交易方法<span class="sidenote-number"><small class="sidenote">PAT Price Action Trade</small></span>来介绍阅读 K 线的方法，并为后续的 VPA 做铺垫（PAT 方法实际上是 VPA 的一部分，只是没有做成交量的确认）</p>

</blockquote>
<p>P.S：</p>
<ul>
<li>美股绿涨红跌默认 A 股红涨吕跌默认，本笔记中暂时适用红涨，后续再做调整。</li>
<li>成交量本身没有颜色，颜色是为了区分当日的涨跌，和价值图表的颜色一致。</li>
</ul>



  
  

<blockquote class="alert-blockquote alert-todo">
  <p class="alert-heading">
    <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" width="16" height="16">
      <path d="M0 8a8 8 0 1 1 16 0A8 8 0 0 1 0 8Zm8-6.5a6.5 6.5 0 1 0 0 13 6.5 6.5 0 0 0 0-13ZM6.5 7.75A.75.75 0 0 1 7.25 7h1a.75.75 0 0 1 .75.75v2.75h.25a.75.75 0 0 1 0 1.5h-2a.75.75 0 0 1 0-1.5h.25v-2h-.25a.75.75 0 0 1-.75-.75ZM8 6a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z"></path>
    </svg>
    <span>Todo</span>
  </p>
  <p><ul>
<li><input disabled="" type="checkbox"> 分析影线和实体的所有不同构成能反应的不同猜测</li>
<li><input disabled="" type="checkbox"> 每次遇到不同的 k 线图区间，最好介入自己的分析，来完善整个理论</li>
</ul>

</blockquote>
<h2 id="场内交易到场外交易的失败">场内交易到场外交易的失败</h2>
<p>场内交易员可以通过场内人的表现，来感受到<strong>贪婪、恐惧；以及通过场内交易席位的买卖状况来判断市场的情绪</strong>，这也就是所谓的&quot;市场的气味&quot;，场外线上交易缺乏了这种气味（信息）,仅凭借<strong>价格行为</strong>进行交易也导致很多交易员的转型失败。</p>
<p>不可否认的是：价格行为确实存在一些信息和作用如下：</p>
<pre class="mermaid">flowchart LR
A[全球新闻动态]--浓缩--&gt;C[价格行为]
B[交易员和投资者的观点和决策]--浓缩--&gt;C

C--详尽分析--&gt;D[未来市场的运行方向]
  </pre>
  <p>但是在场内，可以通过观察得到以下的这些<strong>额外的信息，其隐藏在表现之下</strong>，能够帮助我们在价格行为至上，做出更加准确的决策，而不至于被市场欺骗，同时更加敏锐和有效：</p>
<pre class="mermaid">timeline
	title extra info in floor trading
	参与人数: 成交量
	电话竞拍的速度: 活跃度
				: 成交速度的相对大小
	交易的紧张和犹豫: 成交速度的变化
			 : 价格变动的停止
			 : 成交速度减缓
	
  </pre>
  <p>而这些场内的一些额外信息，在在线交易时，可以通过以下的替代指标来感受市场的供求关系和情绪的发展变化。</p>
<ul>
<li>成交量的相对大小</li>
<li>成交活跃度</li>
<li>成交速度的相对快慢</li>
<li>成交速度的变化（一阶导）</li>
</ul>
<p>有真实情绪的市场和价格的变动相互印证，就可以避免被拍卖商（或者说是定价商，券商，做市商）的虚假竞拍（抬价）所欺骗，从而使得在合适的价格购入对应的商品。</p>
<p>换句话说，<strong>再被操纵的市场中，成交量可以揭示价格变动背后的原因；而在未被操纵的市场中，成交量可以真实的反应市场的情绪和交易指令集。</strong></p>
<p>在 VPA 之前，我们先更深入的研究其中的 PA（T）<span class="sidenote-number"><small class="sidenote">price action trade</small></span></p>
<h2 id="pat-价格行为交易">PAT 价格行为交易</h2>
<blockquote>
<p>价格作为一个领先指标，它本身只能显示过去的事实，通过分析我们预测未来可能发生的情况，也许我们可以通过价格获得正确的预测，但是成交量可以让我们做的更加完整和可靠。</p>
</blockquote>
<p>价格最重要的四个组成部分为：<strong>开盘价</strong>、<strong>最高价</strong>、<strong>最低价</strong>、<strong>收盘价</strong>； PAT 就要求通过这些数值的曲线，去感受情绪，一个典型的例子就是<strong>开盘时价格的跳空</strong>，开盘时价格突然远超或远低于前日价格，这能使得我们感受市场的强烈情绪。</p>
<p>但不得不提的是，随着全球电子交易系统带来的期货、<strong>股指期货</strong>的 24 小时交易制度，使得开盘价和收盘价的重要性没有以往那么重要（<strong>特指具备股指期货的股票指数等</strong>，对单只股票而言，其仍然受大盘和市场情绪的影响，还是很重要的），或者说重要性可以被夜盘的期货市场替代，其在<strong>夜盘中的交易能使我们提前感受市场的情绪，因此开盘价的变化就不再使人意外</strong>。</p>
<pre class="mermaid">flowchart LR

A[现货-股指] --衍生--&gt; B[股指期货]--夜盘交易--&gt;C[情绪变化]
C--开盘点位变化--&gt;A
  </pre>
  <blockquote>
<p>这种 24 小时交易会使得跳空变少或者情绪变化的表达更加含蓄/缺失，因此成交量的信息也愈发重要。</p>
</blockquote>



  
  

<blockquote class="alert-blockquote alert-idea">
  <p class="alert-heading">
    <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" width="16" height="16">
      <path d="M0 8a8 8 0 1 1 16 0A8 8 0 0 1 0 8Zm8-6.5a6.5 6.5 0 1 0 0 13 6.5 6.5 0 0 0 0-13ZM6.5 7.75A.75.75 0 0 1 7.25 7h1a.75.75 0 0 1 .75.75v2.75h.25a.75.75 0 0 1 0 1.5h-2a.75.75 0 0 1 0-1.5h.25v-2h-.25a.75.75 0 0 1-.75-.75ZM8 6a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z"></path>
    </svg>
    <span>Idea</span>
  </p>
  <p>是否可以利用夜盘的信息来从盘后交易中获利？</p>

</blockquote>
<p>这并不意味着 PAT 就没有意义了，只是说相比于传统市场缺失了一部分信息，再次强调了成交量的重要性罢了，而要想读懂价格中仍然蕴含的信息，我们需要学会阅读 K 线图，k 线图中蕴含了价格的四大重要组成。</p>
<h3 id="k-线图的形态和基本阅读方法">K 线图的形态和基本阅读方法</h3>
<blockquote>
<p>在相应的时间框架内，每一个元素在分析价格行为时都起着相应的作用；另一方面，当我们适用成交量加以验证的时候，影线和实体最能揭示市场情绪。</p>
</blockquote>
<h3 id="k-线图的基本元素">k 线图的基本元素</h3>
<p>
<div class="post-img-view">
  <a data-fancybox="gallery" href="https://picture-bed-001-1310572365.cos.ap-guangzhou.myqcloud.com/mac/20250122131443.png">
    <img alt="image.png" loading="lazy" src="https://picture-bed-001-1310572365.cos.ap-guangzhou.myqcloud.com/mac/20250122131443.png"class="responsive-image" src="https://picture-bed-001-1310572365.cos.ap-guangzhou.myqcloud.com/mac/20250122131443.png" style="display: block; margin: 0 auto;"
      alt="image.png"  />
  </a>
</div>


<script>
  document.addEventListener("DOMContentLoaded", function() {
      var images = document.querySelectorAll(".responsive-image");
      var maxHeight = window.innerHeight / 2.5;
      images.forEach(function(image) {
          image.style.maxHeight = maxHeight + "px";
      });
  });
</script>
</p>
<p>通过上图的形式，将 K 线图解读成一个正弦波，随着市场的上下震荡，买方和卖方争夺控制权的主导地位，在上涨形势中买方最终占据主导权，整个过程可能十分曲折，但是我们只需关注最终形成的趋势即可。接下来我们就需要从中阅读市场情绪：</p>
<p>一、<strong>实体的长度/高低预示市场情绪的热烈程度</strong>，高实体意味着情绪强烈，低实体意味着情绪低迷
二、<strong>影线代表着变化，或者说是意见分歧</strong>，因此影线的长度和含义，在量价分析中无比重要。</p>
<h3 id="k-线图中的实体和影线">k 线图中的实体和影线</h3>
<blockquote>
<p>正如上一小节中所说，实体长度象征市场情绪的激烈程度，而影线代表着具体变化过程；</p>
</blockquote>
<p>实体而言：假如市场情绪始终都十分强烈且统一，那么我们将得到一个高实体且没有影线的 K 线图，这意味着市场始终向一个方向前进且没有质疑，该市场<strong>情绪强烈且将持续</strong>。</p>
<p>而<strong>影线</strong>由于其代表了变化和分歧，<strong>其长度和含义在量价分析中是无比重要</strong>的，下面有两个例子：</p>
<p>
<div class="post-img-view">
  <a data-fancybox="gallery" href="https://picture-bed-001-1310572365.cos.ap-guangzhou.myqcloud.com/mac/20250122135040.png">
    <img alt="image.png" loading="lazy" src="https://picture-bed-001-1310572365.cos.ap-guangzhou.myqcloud.com/mac/20250122135040.png"class="responsive-image" src="https://picture-bed-001-1310572365.cos.ap-guangzhou.myqcloud.com/mac/20250122135040.png" style="display: block; margin: 0 auto;"
      alt="image.png"  />
  </a>
</div>


<script>
  document.addEventListener("DOMContentLoaded", function() {
      var images = document.querySelectorAll(".responsive-image");
      var maxHeight = window.innerHeight / 2.5;
      images.forEach(function(image) {
          image.style.maxHeight = maxHeight + "px";
      });
  });
</script>
</p>
<p>这是一个<strong>不存在实体的下影线</strong>，可以认为开盘后卖方占据了主导地位，力量超过了买方，导致价格下跌，随着价格下跌，对买方的吸引力上升，买方的力量逐渐压过了卖方，买家涌入市场，这意味着两点：</p>
<ol>
<li>无论周期多长，市场情绪出现了反转；</li>
<li>收盘时市场处于看涨情绪中，这是由于买压暂时处于主导地位，（也有可能已经平衡？）</li>
</ol>
<p>但是其并不能作为趋势反转的信号，因为仅凭借价格还没有足够的信息量，去判断当前买压的剩余力量是多少，还是已经达到平衡。如果需要得到这个信息，就需要分析在反转过程中发生了什么，这里就可以借助量价分析 VPA 中的 价量分布分析 VAP <span class="sidenote-number"><small class="sidenote">即Volume at Price</small></span>.</p>
<blockquote>
<p>通过在价格变动中的成交量变化，我们就可以基于成交量来衡量买压和卖压的大小，两股力量是否达到平衡，也能利用成交量的变化速度，变化加速度，即一阶导和二阶导，去评估这个力量的平衡价位等。(需要考虑市场是动态的，而不是不变的系统)</p>
</blockquote>
<p>下面这个上影线的例子，和下影线的例子的分析是一样的：</p>
<ol>
<li>市场情绪出现了反转</li>
<li>收盘时市场处于看跌情绪中</li>
</ol>
<p>
<div class="post-img-view">
  <a data-fancybox="gallery" href="https://picture-bed-001-1310572365.cos.ap-guangzhou.myqcloud.com/mac/20250122133435.png">
    <img alt="image.png" loading="lazy" src="https://picture-bed-001-1310572365.cos.ap-guangzhou.myqcloud.com/mac/20250122133435.png"class="responsive-image" src="https://picture-bed-001-1310572365.cos.ap-guangzhou.myqcloud.com/mac/20250122133435.png" style="display: block; margin: 0 auto;"
      alt="image.png"  />
  </a>
</div>


<script>
  document.addEventListener("DOMContentLoaded", function() {
      var images = document.querySelectorAll(".responsive-image");
      var maxHeight = window.innerHeight / 2.5;
      images.forEach(function(image) {
          image.style.maxHeight = maxHeight + "px";
      });
  });
</script>
</p>
<p>这种 k 线图可以是跳动点图上的，可以是五分钟、日线、周线，都是一样的，当我们在日线图和周线图上评估趋势，并在 1、5 分钟图上结合成交量去分析价格行为时，意义更大。</p>
<p>这两种 k 线图是非常重要的价格形态，后面还会反复回顾；目前在分析上还欠缺的是：</p>
<ul>
<li>价格行为的强度，即上述说的是否达到平衡，可能需要借助 VAP 分析；</li>
<li>这种价格行为是否有效：即是否是真实的符合市场的价格运动。</li>
<li>后续如何发展。</li>
</ul>
<p>这些就需要结合成交量去分析了。</p>
<h2 id="vpa-的基本原则">VPA 的基本原则</h2>



  
  

<blockquote class="alert-blockquote alert-summary">
  <p class="alert-heading">
    <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" width="16" height="16">
      <path d="M0 8a8 8 0 1 1 16 0A8 8 0 0 1 0 8Zm8-6.5a6.5 6.5 0 1 0 0 13 6.5 6.5 0 0 0 0-13ZM6.5 7.75A.75.75 0 0 1 7.25 7h1a.75.75 0 0 1 .75.75v2.75h.25a.75.75 0 0 1 0 1.5h-2a.75.75 0 0 1 0-1.5h.25v-2h-.25a.75.75 0 0 1-.75-.75ZM8 6a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z"></path>
    </svg>
    <span>Summary</span>
  </p>
  <p>本章节并不是具体的分析技术和细节，而是涉及分析过程中的行动纲领，以及对整个方法的基本认知。</p>

</blockquote>
<h3 id="vpa-是艺术并非科学">VPA 是艺术并非科学</h3>
<p>在量价分析中，我们要做的通常是如下的两点：</p>
<ol>
<li>对比分析价格行为和对应的成交量，寻找相互印证或者异常；</li>
<li>对比历史成交量判断当前成交量的大小；</li>
</ol>
<blockquote>
<p>因此主要的成本是如何获取实际的成交量。</p>
</blockquote>
<p>而在这个过程中，作者认为相互印证或者成交量的相对大小的判断，没有一个准确的标准，大部分的判断都是主观的，因此不具备主观能力的软件程序无法胜任量价分析的任务，<strong>即 VPA 是艺术而非科学</strong>。</p>
<hr>
<p>但是考虑到当前 AI 技术的发展，无论是适用 DPO、强化学习、偏好模仿、还是针对单独的股票进行独立建模在使用 moe 进行统一分析，我认为都能模拟人类的主观偏好以及后续自我进化的特点，因此我认为其并非无法适用软件去替代进行决策。</p>
<p>就算对应完全替代的路线难度很大，适用软件去获取置信度较高，或者需要警惕的信号做保底策略来简化人类监管也是大有可为的。</p>
<h3 id="耐心等待转变">耐心等待转变</h3>
<blockquote>
<p>金融市场犹如一艘巨大的游轮，他不会戛然而止又迅速启动，市场通常<strong>拥有动量</strong>；反转终究会到来，但不是在某根 k 线图发出信号后立即到来，在它准备好反转之前，将首先完成清理的工作。</p>
</blockquote>
<p><strong>耐心原则</strong>：当 K 线图形态预示潜在的反转或异常时，市场的趋势仍然会继续持续一段时间。</p>
<p>这可能也是量价分析会 Work 的原因：信号提前于趋势的发生，通过类似加速度正负转变的方式，在利用 delay 时间清楚原有势力或者说动量后，才实现趋势的反转，整个过程好比趋势曲线是 S，发展方向取决于 V，转变信号则是 a 的正负转换，示例如下：</p>
<p>
<div class="post-img-view">
  <a data-fancybox="gallery" href="https://picture-bed-001-1310572365.cos.ap-guangzhou.myqcloud.com/mac/20250124132211.png">
    <img alt="image.png" loading="lazy" src="https://picture-bed-001-1310572365.cos.ap-guangzhou.myqcloud.com/mac/20250124132211.png"class="responsive-image" src="https://picture-bed-001-1310572365.cos.ap-guangzhou.myqcloud.com/mac/20250124132211.png" style="display: block; margin: 0 auto;"
      alt="image.png"  />
  </a>
</div>


<script>
  document.addEventListener("DOMContentLoaded", function() {
      var images = document.querySelectorAll(".responsive-image");
      var maxHeight = window.innerHeight / 2.5;
      images.forEach(function(image) {
          image.style.maxHeight = maxHeight + "px";
      });
  });
</script>
</p>



  
  

<blockquote class="alert-blockquote alert-todo">
  <p class="alert-heading">
    <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" width="16" height="16">
      <path d="M0 8a8 8 0 1 1 16 0A8 8 0 0 1 0 8Zm8-6.5a6.5 6.5 0 1 0 0 13 6.5 6.5 0 0 0 0-13ZM6.5 7.75A.75.75 0 0 1 7.25 7h1a.75.75 0 0 1 .75.75v2.75h.25a.75.75 0 0 1 0 1.5h-2a.75.75 0 0 1 0-1.5h.25v-2h-.25a.75.75 0 0 1-.75-.75ZM8 6a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z"></path>
    </svg>
    <span>Todo</span>
  </p>
  <p>复习一下动量理论，可以参考动量的定律来对市场进行一个基本的建模，单纯考虑 S-V-A-t 的运动理论就类似 PAT，其中的成因 Volume 就好比 F=ma ，而作为 F 的 Volume 还能以动量的形式来对市场的运动产生影响，两者之间是能相互印证的。</p>

</blockquote>
<p>回到具体的市场数值上而言，即从价格行为上看，买压或卖压在 Volume 和 Price 上的压倒性优势并非是瞬间形成的，而是一种逐渐转变的过程，通常可以看到下面这种流程：</p>
<ol>
<li>部分卖家坚信市场还会下行，继续坚持，市场下行了一小段后开始上行，越来越多的卖家离场</li>
<li>市场再一次下行到更低点位后开始反弹，通过这种方式将固执的卖家清洗出局</li>
<li>最后，清理完最后的卖家（&ldquo;扫尾&rdquo;）之后，市场做好了上行至更高点位的准备。</li>
</ol>
<p>这种拉锯过程（犹豫情绪）正是一段<strong>延伸行情</strong>中的<strong>价格震荡区间</strong>的成因，在这种即将反转的情况下，通常会遇到<strong>强力的支撑位</strong>和<strong>阻力位</strong>；</p>
<blockquote>
<p>是否包含如下的结构才是一个完整的趋势形成的信号?</p>
</blockquote>
<pre class="mermaid">flowchart LR
A[PAT 得到变动信号] --&gt; B[Volume 验证] --&gt; C[Volume 获取有效的
											支撑或着阻力]
C --&gt;  D[趋势将会到来]
  </pre>
  <h3 id="成交量的核心在于相对性">成交量的核心在于相对性</h3>
<p>由于我们<strong>关注的是成交量的相对变化</strong>，因此无需纠结于成交量获取的数据有多么的准确，但是<strong>数据的一致性是十分重要</strong>的，只要在我们分析的阶段数据的来源和统计方法是一致的即可。</p>
<p>这里通过作者的长时间实践和纠结发现是正确且可行的，一个<strong>普通 MT4 平台的免费跳动点成交量数据</strong>也能满足我们的需求，且其还是免费的，作者已经使用了多年。</p>
<h3 id="熟能生巧">熟能生巧</h3>
<blockquote>
<p>历久弥新的熟能生巧四字真言；保持耐心，投入时间和精力，数周或者数月后会发现自己有预测市场反转的能力。</p>
</blockquote>
<p>上述提及，该方式适用于各种时间跨度的交易，因此在做实验的时候，可以：</p>
<ol>
<li>投资：从较长周期的日线图和周线图进行分析，寻找买入和持有的机会</li>
<li>投机：适用跳动点图或者短时间周期图进行日内交易；</li>
</ol>
<h3 id="技术分析">技术分析</h3>
<p>量价分析只是技术分析的一部分，通常结合其他的工具和方式对我们的预测进行确认，其中最重要的就是上述提到的<strong>支撑位和阻力位</strong>，该指标能描述市场在反转之前进行扫尾工作的阶段，又或者只是一段长期趋势的停顿点，都可以在后续的成交量分析中得到验证，但价格突破整理区间，伴随着适当的成交量，常常是一个强烈的信号。</p>
<p><strong>趋势分析</strong>、<strong>价格形态分析</strong>同样重要，都是技术分析的这门艺术的组成部分。</p>
<h2 id="vpa-的主要行为确认或异常">VPA 的主要行为：确认或异常</h2>
<pre class="mermaid">flowchart LR
A[开始] --&gt;B[价格被成交量确认]
A --&gt; C[价格中存在异常现象]
B--&gt; D[价格的连续性被确认]
C--&gt;E[存在潜在变化的信号]
  </pre>
  <p>量价分析实际上寻找的就是上述的两种情况，核心在于如何判断确认和异常，下面通过单一 K 线和多 K 线来介绍如何区分两种情况：</p>
<h3 id="单根-k-线图从微观出发">单根 k 线图：从微观出发</h3>
<h4 id="价格确认信号">价格确认信号</h4>
<p>首先介绍价格被确认的例子：</p>
<p>
<div class="post-img-view">
  <a data-fancybox="gallery" href="https://picture-bed-001-1310572365.cos.ap-guangzhou.myqcloud.com/mac/20250124151349.png">
    <img alt="image.png" loading="lazy" src="https://picture-bed-001-1310572365.cos.ap-guangzhou.myqcloud.com/mac/20250124151349.png"class="responsive-image" src="https://picture-bed-001-1310572365.cos.ap-guangzhou.myqcloud.com/mac/20250124151349.png" style="display: block; margin: 0 auto;"
      alt="image.png"  />
  </a>
</div>


<script>
  document.addEventListener("DOMContentLoaded", function() {
      var images = document.querySelectorAll(".responsive-image");
      var maxHeight = window.innerHeight / 2.5;
      images.forEach(function(image) {
          image.style.maxHeight = maxHeight + "px";
      });
  });
</script>
</p>
<p><strong>长阳线的例子</strong>，根据上述 PAT 的理解，我们可以看出<strong>价格强劲上涨</strong>，<strong>收盘价略低于最高价</strong>，同时存在较高的成交量来匹配这一较大的价格变化（威科夫第三定律，投入产出匹配），由此价格被成交量确认，因此可以假设两种情况：</p>
<ol>
<li>价格的变动是真实的，未收到操控；</li>
<li>市场处于牛市阶段，直到我们发现异常信号之前，都可以持有手中的长头寸；</li>
</ol>
<p><strong>短阳线的例子</strong>，这是一个伴随较低成交量的短阳线，具备幅度较小的价格变动（略微上涨），上影线和下影线也比较低，成交量也大幅低于平均水平，同样符合投入产出定义，较低的成交量促成较小的变动。（较低的投入只能促成较小的市场变动）。</p>
<h4 id="价格异常信号">价格异常信号</h4>
<p>接下来看下异常的例子：</p>
<p>
<div class="post-img-view">
  <a data-fancybox="gallery" href="https://picture-bed-001-1310572365.cos.ap-guangzhou.myqcloud.com/mac/20250124170321.png">
    <img alt="image.png" loading="lazy" src="https://picture-bed-001-1310572365.cos.ap-guangzhou.myqcloud.com/mac/20250124170321.png"class="responsive-image" src="https://picture-bed-001-1310572365.cos.ap-guangzhou.myqcloud.com/mac/20250124170321.png" style="display: block; margin: 0 auto;"
      alt="image.png"  />
  </a>
</div>


<script>
  document.addEventListener("DOMContentLoaded", function() {
      var images = document.querySelectorAll(".responsive-image");
      var maxHeight = window.innerHeight / 2.5;
      images.forEach(function(image) {
          image.style.maxHeight = maxHeight + "px";
      });
  });
</script>
</p>
<p><strong>长阳线异常的例子</strong>，其不符合威科夫的第三定律，有较大的价格变化（产出），但是仅有很少的市场参与（即成交量，即投入），这种异常出现时，我们需要考虑是否是市场或者做市商设下的多头陷阱。这种形态常常发生于：</p>
<ol>
<li>股票开盘，做市商基于夜盘中的信息判断市场的情绪处于牛市或熊市，然后通过抬高/降低价格来测试买家的兴趣，如果没有买家有兴趣，价格将会下跌，仅在买方会在高价进入市场时，他们才会继续抬高价格。后面再继续测试；通过这种方式来确定盘后九分钟的价格水平</li>
</ol>
<p>因此<strong>在开盘后的几分钟内盯紧图表，有助于我们明确当天的一个交易基调</strong>，同时我们也应密切关注相关的突发行为，因为做市商&quot;不会放过每一个制造危机的机会&quot;，他们会通过新闻的机会来测试市场，根据新闻抬升或拉低价格，都有可能使得类似的图表出现。</p>
<p>这是一种标志且明确的陷阱信号，这种价格的上涨会迅速的发生反转，市场相反方向运动。</p>
<p>🔥 <strong>短阳线异常的例子</strong>，其同样不符合威科夫的第三定律，这里小幅度的价格变化却由着大量的成交量造成，这种典型的 K 线图形态往往发生于<strong>牛市的顶部</strong>，<strong>或者熊市的底部</strong>。是一种<strong>市场趋于弱势的信号</strong>。举个例子来分析：</p>
<blockquote>
<p>假设：牛市情况
情形分析：持续了一段时间的上涨，主力多头开始了结利润，开始清仓卖出，而此时持有 FOMO 情绪的个人投资者拥入市场买入，此时由于主力在退出，个人投资者没有足够的能量来推动价格继续上涨，因此有大量的成交量却仅有较小的价格变动。此时买方仅稍胜卖方，但是如果趋势再往下后，可能也会出现反转，因为如果卖方十分坚定（强势）则会表现出阴线。
卖出对象分析：个人投资者通常存在追涨杀跌以及 FOMO 的特性，因此卖出的主要是了结利润的长期投资者，局内人，做市商，内幕交易者等；
剩余买家没法推动价格上涨，价格的上涨会引来更多的卖出，下跌则会有更多的买家，在该价位拉扯。</p>
</blockquote>
<p>因此这是一个市场走弱，而挣扎于保持现有水平的一个典型信号，如果原先持有头寸，就应该收拾收拾卖出，或者准备在趋势反转的时候建立头寸。</p>
<h4 id="了解信号的趋势背景">了解信号的趋势背景</h4>



  
  

<blockquote class="alert-blockquote alert-summary">
  <p class="alert-heading">
    <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" width="16" height="16">
      <path d="M0 8a8 8 0 1 1 16 0A8 8 0 0 1 0 8Zm8-6.5a6.5 6.5 0 1 0 0 13 6.5 6.5 0 0 0 0-13ZM6.5 7.75A.75.75 0 0 1 7.25 7h1a.75.75 0 0 1 .75.75v2.75h.25a.75.75 0 0 1 0 1.5h-2a.75.75 0 0 1 0-1.5h.25v-2h-.25a.75.75 0 0 1-.75-.75ZM8 6a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z"></path>
    </svg>
    <span>Summary</span>
  </p>
  <p>在 k 线图的解读中，对所处趋势的认知影响解读的方向，趋势对于信号的解读是必不可少的环节即：<strong>K线图在趋势中所处的位置不同具有的意义也不同</strong></p>

</blockquote>
<p>趋势对 k 线图分析的影响主要有以下的几类：</p>
<ul>
<li>时间跨度：信号是在 5 分钟图中，小时图，日图等发生的，对应的趋势周期和长度是不一样的，并非只有长期趋势才叫做趋势；</li>
<li>趋势中的位置定位：需要明确价格异常的信息具体引导向建立头寸还是卖出，需要借助趋势信息来明确我们在价格变动中所处的位置，</li>
</ul>
<p>而要分析趋势，明确信号带来的引导，寻找潜在的反转点，需要使用<strong>支撑位和阻力位、 K线图形态、单根K线图，以及趋势线</strong>进行分析。上述工具可以为我们提供我们的“方位”帮助我们确认价格变动中我们所处的位置。</p>
<h3 id="多根-k-线图宏观分析由点到线">多根 k 线图：宏观分析，由点到线</h3>
<h4 id="趋势确认信号">趋势确认信号</h4>
<p>以下图为例，这是一个连续上涨的 k 线：价格逐日上涨，且实体也逐日扩大，同样的成交量也满足一样的规律，逐日扩大。</p>
<p>
<div class="post-img-view">
  <a data-fancybox="gallery" href="https://picture-bed-001-1310572365.cos.ap-guangzhou.myqcloud.com/mac/20250208150630.png">
    <img alt="image.png" loading="lazy" src="https://picture-bed-001-1310572365.cos.ap-guangzhou.myqcloud.com/mac/20250208150630.png"class="responsive-image" src="https://picture-bed-001-1310572365.cos.ap-guangzhou.myqcloud.com/mac/20250208150630.png" style="display: block; margin: 0 auto;"
      alt="image.png"  />
  </a>
</div>


<script>
  document.addEventListener("DOMContentLoaded", function() {
      var images = document.querySelectorAll(".responsive-image");
      var maxHeight = window.innerHeight / 2.5;
      images.forEach(function(image) {
          image.style.maxHeight = maxHeight + "px";
      });
  });
</script>
</p>
<p>可以看出曲线上整体是符合威科夫第三定律的，较低的价格变化实体对应较小的成交量，同时较高的价格变换实体也具备更高的成交量的确认。从单线和多线上都印证了这是一个市场参与（受到了市场情绪和专业人士的共同支持）的正常价格变动，形成了一个成交量在增加的趋势的价格上涨趋势；</p>
<p>这里说明的是投入产出<strong>不仅适用于单线，也适用于多线</strong>的情况，这可以是我们进行<strong>双重确认</strong>；同时这里成交量和价格的变动也能用第二定律来解释即：此处结果的变动程度（趋势中的价格变动）和原因的规模（成交量在特定时间单位中的变动）是相关的，即上涨的价格与放大的成交量正相关。</p>
<p>假设上述的价格上升过程<strong>没有影线</strong>，我们可以认为，<strong>成交量均为买入的成交量</strong>（如果有卖出市场应该有所体现），市场坚定的上行，<strong>是一个低风险的交易机会</strong>。</p>
<p>
<div class="post-img-view">
  <a data-fancybox="gallery" href="https://picture-bed-001-1310572365.cos.ap-guangzhou.myqcloud.com/mac/20250208153947.png">
    <img alt="image.png" loading="lazy" src="https://picture-bed-001-1310572365.cos.ap-guangzhou.myqcloud.com/mac/20250208153947.png"class="responsive-image" src="https://picture-bed-001-1310572365.cos.ap-guangzhou.myqcloud.com/mac/20250208153947.png" style="display: block; margin: 0 auto;"
      alt="image.png"  />
  </a>
</div>


<script>
  document.addEventListener("DOMContentLoaded", function() {
      var images = document.querySelectorAll(".responsive-image");
      var maxHeight = window.innerHeight / 2.5;
      images.forEach(function(image) {
          image.style.maxHeight = maxHeight + "px";
      });
  });
</script>
</p>
<p>无需赘言，下跌的例子也可同样使用威科夫第三定律来确认价格变动是否是有效的，与上涨和下跌无关，同样，我们从两个层次去确认价格变动的合理性。</p>



  
  

<blockquote class="alert-blockquote alert-warning">
  <p class="alert-heading">
    <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" width="16" height="16">
      <path d="M6.457 1.047c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0 1 14.082 15H1.918a1.75 1.75 0 0 1-1.543-2.575Zm1.763.707a.25.25 0 0 0-.44 0L1.698 13.132a.25.25 0 0 0 .22.368h12.164a.25.25 0 0 0 .22-.368Zm.53 3.996v2.5a.75.75 0 0 1-1.5 0v-2.5a.75.75 0 0 1 1.5 0ZM9 11a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path>
    </svg>
    <span>Warning</span>
  </p>
  <p>后续需要确认一下这个逻辑是否是正确的</p>

</blockquote>
<pre class="mermaid">graph LR
    A[开始] --&gt; B{单 K 线分析}
    B --&gt; C[对比平均情况]
    C --&gt; D[实体和 V 的所处相对位置是否匹配]
    D --&gt;|是| E[进入多 K 线分析阶段]
    E --&gt; F[观察整个趋势中的价格变化]
    F --&gt; G[检查价格和成交量的变化是否一致]
    G --&gt;|是| H[确认价格走势]
    H --&gt; I[结束]
    D --&gt;|否| J[分析单 K 线异常]
  </pre>
  <h4 id="量价异常信号">量价异常信号</h4>
<p>以下图为例，价格在上涨，同时实体逐渐略微扩大，第一根 K 线的价格和成交量相互印证，但是其余 k 线却均有一些问题。</p>
<p>
<div class="post-img-view">
  <a data-fancybox="gallery" href="https://picture-bed-001-1310572365.cos.ap-guangzhou.myqcloud.com/mac/20250208160414.png">
    <img alt="image.png" loading="lazy" src="https://picture-bed-001-1310572365.cos.ap-guangzhou.myqcloud.com/mac/20250208160414.png"class="responsive-image" src="https://picture-bed-001-1310572365.cos.ap-guangzhou.myqcloud.com/mac/20250208160414.png" style="display: block; margin: 0 auto;"
      alt="image.png"  />
  </a>
</div>


<script>
  document.addEventListener("DOMContentLoaded", function() {
      var images = document.querySelectorAll(".responsive-image");
      var maxHeight = window.innerHeight / 2.5;
      images.forEach(function(image) {
          image.style.maxHeight = maxHeight + "px";
      });
  });
</script>
</p>
<ol>
<li>k 线图 2 中实体较低却伴随着巨大的成交量，这是市场弱势的信号，这意味着主要操盘手（做市商）正在卖出，因为大量的投入没有产生对应的上涨效果。</li>
<li>k 线图 3 是一个连续异常，在趋势上他实体相对于 2 更高，但是成交量却更低，这也清楚的印证了 k 线图 2 中的异常</li>
<li>k 线图 4 再一次异常，实体更高了，但是成交量却更低，该趋势中明确存在异常行为。</li>
</ol>
<p>通过上述图的表现，可以有下面的结论：</p>
<p>首先 k 线图 2 中成交量的投入和价格产出的不匹配，体现了一个市场处于弱势的信号，市场处于&quot;超买&quot;的情况，做市商和专业人士感受到了市场的弱势，卖家享受做空机会，在这个点位大量卖出，等待价格下跌，同时继续<strong>抬高价格来创造盈利而非推动上涨</strong>，但是买方市场显然已经没有足够的能量推动价格继续上涨，下跌的成交量可以印证这一点，这是市场处于弱势的一个信号。</p>
<blockquote>
<p><strong>这也可能只是一个短暂停驻</strong>，并非趋势的大型变动，进一步的我们需要<strong>在更大的背景下分析图表</strong>，决定我们看到的是一个小幅度的回落还是趋势改变的征兆。这一点上就需要<strong>借助因果定律</strong>，<strong>从时间跨度和量的起因来分析</strong>这是一个小幅度的回落还是一个大的趋势的转向。</p>
</blockquote>
<p>这另一个<strong>多根柱状图异常下跌</strong>的趋势：价格持续下跌，实体逐渐扩大，成交量的变化却并不与之匹配，这里的分析和上述超买的情况类似，在第二个 k 线处开始发生异常。</p>
<p>
<div class="post-img-view">
  <a data-fancybox="gallery" href="https://picture-bed-001-1310572365.cos.ap-guangzhou.myqcloud.com/mac/20250208164209.png">
    <img alt="image.png" loading="lazy" src="https://picture-bed-001-1310572365.cos.ap-guangzhou.myqcloud.com/mac/20250208164209.png"class="responsive-image" src="https://picture-bed-001-1310572365.cos.ap-guangzhou.myqcloud.com/mac/20250208164209.png" style="display: block; margin: 0 auto;"
      alt="image.png"  />
  </a>
</div>


<script>
  document.addEventListener("DOMContentLoaded", function() {
      var images = document.querySelectorAll(".responsive-image");
      var maxHeight = window.innerHeight / 2.5;
      images.forEach(function(image) {
          image.style.maxHeight = maxHeight + "px";
      });
  });
</script>
</p>
<p>同上述分析，可以有以下的结论：</p>
<p>k 线图 2 中低实体却对应的大量的成交，意味着市场拒绝向更低点位运动，<strong>卖压正在枯竭</strong>，做市商感受到了这个市场情绪，即越来越多的买家涌入开始买入，因此<strong>做市商</strong>在这一水平也开始执行买入，因此市场难以继续向更低点位运动，k3 和 k4 则是做市商继续调低价格，<strong>试图欺骗卖方市场仍处于熊市，使其继续卖出，从而自己能在更低价位买入，建立头寸</strong>。</p>
<p>由于做市商和专业人士转向了买方市场，从空头转向了买入，因此卖压开始枯竭，卖方不够支持成交量的上涨，来使得市场运行到更低的点位，因此也构成了一个信号。</p>
<p><strong>同样，有了这样的异常信号以后，我们还需分析进一步的信号，从因果定律出发，判断市场发生趋势反转的程度：是短暂回调还是大幅反转。</strong></p>
<blockquote>
<p>即使这是一个小插曲，也为我们提供了一个低风险的短期交易的机会。</p>
</blockquote>
<p>至此，我们从<strong>微观（单 K 线）出发</strong>建立成交量的相对状态的感知，然后从<strong>宏观分析（多 k 线）</strong>，得到小级别的趋势，或者潜在的小级别反转的确认，而还<strong>缺失的就是全局视角</strong>，了解价格在这个长期趋势中的位置，这也是后面要介绍的内容</p>
<h3 id="全局视角-intro">全局视角 Intro</h3>
<blockquote>
<p>我们从一根 k 线开始变焦到局部 k 线趋势，最终我们还需要看到更长时间上的大趋势，能够进一步的帮助我们理解市场运动，完善我们的局部分析，从而做出最终的决策，在这一部分，威科夫的第二定律：因果定律，就会大肆发挥作用。</p>
</blockquote>
<h4 id="理解全局视角">理解全局视角</h4>
<p>正如<strong>耐心等待转变</strong>原则所言，市场并非是获取转向信号后就立即转向，从全局视角出发，我们可以知道这正是由于：</p>
<p>“市场就像一艘油轮——在局内人、专业人士以及做市商准备好前，市场需要花一定的时间消化买盘或卖盘以完成转向。在他们确认实施下一步计划之前，不希望市场成为他的阻碍。”</p>
<p>上述两个例子就像是&quot;扫尾&quot;行动，这种扫尾行动可能在日线图上会间歇性的持续在数天、数周、数月中出现，市场持续震荡整理，出现多次连续的反转信号，<strong>来使得扫尾更加彻底，清楚市场的阻碍</strong>，但是我们不知道合适反转会发生，而威科夫的第二定律告诉我们，当整理的时间越长，幅度越大，反转就越可能发生，准备的周期越长，最后转变的趋势也会更加持久。</p>
<p>以上述的例子而言，当我们发现这 4 个例子反复在同个价格水平出现，而非单次出现，那么就可能不是一个小插曲，而是一个较大的趋势了，在这种时候我们应该<strong>耐心等候支撑位和阻力位的信号（后续）</strong>。</p>
<h4 id="实际策略操作举例">实际策略操作举例</h4>
<p>（日内交易为例）：结合 5 分钟、15 分钟、30 分钟图表进行市场分析：</p>
<ul>
<li>15 分钟图进行日内交易；</li>
<li>5 分钟图来获取靠近市场的视角；</li>
<li>30 分钟图来获取长期视角；</li>
</ul>
<p>一个趋势如果在 5 分钟图中发生，随机传导到 15 分钟、30 分钟图中，那么他就会发展成为一个较为长期的趋势，（判断信号用多长的时间来蓄势？从而判断反转发生的趋势的持续水平？）</p>
<h2 id="fi">FI</h2>
]]></content:encoded>
    </item>
    <item>
      <title>VPA01-基本市场行为描述</title>
      <link>https://aikenh.cn/posts/vpa01-%E5%B8%82%E5%9C%BA%E7%9A%84%E5%9F%BA%E6%9C%AC%E8%A1%8C%E4%B8%BA%E6%8F%8F%E8%BF%B0/</link>
      <pubDate>Mon, 20 Jan 2025 00:41:06 +0000</pubDate>
      <guid>https://aikenh.cn/posts/vpa01-%E5%B8%82%E5%9C%BA%E7%9A%84%E5%9F%BA%E6%9C%AC%E8%A1%8C%E4%B8%BA%E6%8F%8F%E8%BF%B0/</guid>
      <description>Descript for artical</description>
      <content:encoded><![CDATA[<blockquote>
<p>[!summary+]
量价分析<span class="sidenote-number"><small class="sidenote">Volume Price Analysis</small></span>，基于所有的金融市场都被幕后操作的假设，利用成交量是不可被隐藏和作假的特性，使用成交量来确认和预测价格运动。</p>
</blockquote>
<h2 id="intro-市场的基本行为">Intro 市场的基本行为</h2>
<p>从威科夫<span class="sidenote-number"><small class="sidenote">量价交易之父</small></span>提出的集散概念和价量至上原则开始：&quot;<strong>价格和成交量是决定股价波动的最重要因素</strong>&quot;。此外查尔斯·道<span class="sidenote-number"><small class="sidenote">技术分析之祖</small></span>的道氏理论中的一条基本原则也说&quot;<strong>成交量可以确定价格变化的趋势</strong>&quot;</p>
<blockquote>
<p>因此进行相应分析时需要包含成交量和价格的图表。</p>
</blockquote>
<p>From 《盘口解读》:</p>
<blockquote>
<p>在根据市场自身的表现来判断市场的时候，短期波动或长期波动都由<strong>价格</strong>、<strong>成交量</strong>、<a href="%e6%b4%bb%e8%b7%83%e5%ba%a6.md">活跃度</a>
、<a href="%e6%94%af%e6%92%91%e4%bd%8d%e5%92%8c%e9%98%bb%e5%8a%9b%e4%bd%8d.md">支撑位和阻力位</a>
 所反映。从海里一滴水的成分可以推断海的成分，反之亦然；</p>
</blockquote>
<h3 id="there-is-nothing-new-in-trading-适用性">There is nothing new in trading. 适用性</h3>
<p><strong>适用性：</strong>“日光底下无新事”，目前可以认为基于成交量进行的量价交易，到今天仍然是适用的，且适用于各种市场（不同投资类型），各种交易或投资策略中。</p>
<h3 id="daws-rule-1-成交量确定趋势的有效性">Daw&rsquo;s Rule 1 成交量确定趋势的有效性</h3>
<p>Daw‘s ’Rule1：成交量可以<strong>确定</strong>价格变化的趋势；
Detail 具体而言：</p>
<ul>
<li>当一个股票的波动伴随着较低的成交量，那么其变动的原因是多样且不能被确定的，其将不能被认定为存在一个有效的趋势；</li>
<li>而当一个股票的价格变动<strong>伴随着很高的或者逐渐增大的成交量</strong>，那么该变动是一个有效的变动，或者说，可以假设其具备构成一个趋势的基本条件（必要非充分）</li>
<li>在第二点的前提下，如果价格继续向着同一个方向变动，且拥有相应的成交量支撑，那么将是一段趋势开启的信号；</li>
</ul>
<pre class="mermaid">flowchart LR
A[成交量] --确认--&gt;B[价格行为/价格变动]--形成--&gt;C[趋势] 
  </pre>
  <p>Expand 理论延续：当满足条件的趋势形成，Daw 认为接下来的趋势会具备一下的三个阶段（Daw 的趋势理论）：</p>
<pre class="mermaid">timeline
title 成交量趋势的三个阶段
吸筹阶段: 更强趋势的起点
公众参与阶段: 趋势最终的阶段
		 : 最长的一个阶段
派筹阶段: 投资者蜂拥买入的 FOMO 阶段
	   : Daw&#39;s 止盈的时机
  </pre>
  <p>理解一个趋势的不同阶段，对后续做出决策还是有所帮助的。</p>



  
  

<blockquote class="alert-blockquote alert-note">
  <p class="alert-heading">
    <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" width="16" height="16">
      <path d="M0 8a8 8 0 1 1 16 0A8 8 0 0 1 0 8Zm8-6.5a6.5 6.5 0 1 0 0 13 6.5 6.5 0 0 0 0-13ZM6.5 7.75A.75.75 0 0 1 7.25 7h1a.75.75 0 0 1 .75.75v2.75h.25a.75.75 0 0 1 0 1.5h-2a.75.75 0 0 1 0-1.5h.25v-2h-.25a.75.75 0 0 1-.75-.75ZM8 6a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z"></path>
    </svg>
    <span>Note</span>
  </p>
  <p>成交量逐渐上升，是否就会形成一个供求关系的强烈变动，具体是如何 work 的呢？</p>
<ul>
<li>和流通量有什么关系？
买&gt;卖 =&gt; 上涨？因此最好在第三阶段卖出？</li>
</ul>

</blockquote>
<blockquote>
<p>股票指数的概念也是 Daw 提出的，通过行业指数等，可以追踪一个行业的整体状况从而了解宏观经济的运行情况；（大盘？）</p>
</blockquote>
<h3 id="wyckoffs-供需关系决定趋势">Wyckoff&rsquo;s 供需关系决定趋势</h3>
<p>Wyckoff&rsquo;s Opinion：价格完全是由经济学中最基本的供求关系决定的，通过观察价格和成交年的关系，完全可以预测未来市场的方向。</p>
<blockquote>
<p>他在对行业大师的采访中发现了共同点：行情纸带都是他们投资决策的依据，而行情纸带可通过其包含的信息：价格、成交量、时间、核心趋势来为我们揭示最基本的供求规律。</p>
</blockquote>
<p>Three Basic Laws 威科夫的三大基本定律：</p>
<p><strong>一、供求定律：</strong></p>
<p>当需求 &gt; 供给时，为了满足这样的需求，价格会上涨；相反地，当供给 &gt; 需求时，价格会下跌，结果就是超额的供给会被吸收；</p>
<p><strong>二、因果定律：</strong></p>
<p>有果必先有因，且因果之前呈现正比例相关，即：小规模的<strong>成交量变化</strong>将引起小范围的价格波动，重大的起因会导致重大的结果。</p>
<p>该因果定律并不只是指代变化规模上的，同样也能指代时间跨度上的，短时间图表上的成交量变化和长时间图表上的成交量变化，将会引导的是不同跨度和规模的趋势。</p>
<p><strong>三、投入产出定律：</strong></p>
<p>价格变动和成交量的变动呈现作用力和反作用力的关系，两者的变动应该有一种和谐统一的关系，即通过投入（成交量）即可预计相应的产出（相应的价格行为）。</p>
<p>分析每一条价格柱状图，看时候持续成立，如果是持续成立的，那么就可以继续适用该方法，进行预测，否则需要找到其背后的原因，分析异常，否则就不能在该股票上适用该方法。</p>
<hr>
<p>简单的总结如下：在验证符合定律的情况下，关注异常疲软的需求或者异常强劲的需求，在供需适配的地方会发生相应水平的价格变动。</p>
<pre class="mermaid">flowchart LR
A[投入产出定律]--验证有效--&gt;B[供求定律]--确定趋势--&gt;C[因果定律]--&gt;D[从需求中估计幅度]
  </pre>
  <h3 id="richard-ney-内幕交易永流传">Richard Ney 内幕交易永流传</h3>
<p>&ldquo;我们参与的投资市场或多或少的被操纵，包括做市商遮遮掩掩的行为，公开的一些政策干预等等&rdquo;，但是成交量是无法被隐藏的，成交量反应交易行为，反应价格变化背后的真实情况，检验价格变动的真实性。</p>
<blockquote>
<p>操纵：通过一些内幕消息和影响力（假消息等），来使得在各种交易中获利（根据自己的买入或卖出意愿来操纵价格），而不管股票的真实价值如何。</p>
</blockquote>
<ul>
<li><input disabled="" type="checkbox"> 这里有个专业人士的卖空之道的八大法则，目前没明白意义在哪，可能能帮助我们理解操纵行为吧，后续补充</li>
</ul>
<p>做市商的永恒存在可能也是对该点的一个佐证？<a href="%e9%87%91%e8%9e%8d%e5%9f%ba%e6%9c%ac%e6%9c%af%e8%af%ad.md">金融基本术语</a>
中参考做市商。</p>
<h2 id="volume-matters-利用成交量跟随内幕">Volume Matters 利用成交量跟随内幕</h2>
<blockquote>
<p>关键之处就在于获取比其他人更多的信息，然后正确地分析并使用他们 ——沃伦巴菲特</p>
</blockquote>
<h3 id="get-info-通过成交量来洞察内幕者的操作">Get Info 通过成交量来洞察内幕者的操作</h3>
<p>作为股票投资者，我们无法如同做市商一样获取市场的供给和需求水平，但是我们可以通过成交量间接了解这一情况，去间接的获取做市商的资讯。</p>
<p>这里<strong>成交量分析具备局限性</strong>：做市商会在交易发生数小时后才报告大众交易的数据，不过<strong>仍然是我们窥探市场的最好工具</strong>。</p>
<blockquote>
<p>由于做市商对应的操作会影响该信息的时效性，因此可能会影响量化交易策略的执行，不过也可以考虑其中的价值和成交量的失配是否会带来一些新的信息。</p>
</blockquote>
<p>无论做市商是否执行了某些操纵行为，成交量分析都是可以 Work 的，以下面这个分析为例：</p>
<pre class="mermaid">---
title: 牛市前提下
---
flowchart LR

A[期货价格上涨] --交易规模大&amp;--&gt; B[成交量扩张] --&gt; C[Valid]
A --&gt; E[成交量没有对应趋势]
D[期货价格下跌] --&gt; B
D --&gt; E
E --&gt; G[警惕市场/做市商的欺骗]
  </pre>
  <p>在期货市场中，量价分析同样的也有验证价格变动真实性的能力，揭露市场中卖家和买家的真实情绪：</p>
<pre class="mermaid">---
title: 期货市场
---
flowchart LR
A[量价分析] --&gt; B[揭露情绪] --&gt; C[趋势反转时发出信号] --&gt;D[实现对内幕操盘手的跟随]
  </pre>
  <p>这里其实引出了量价分析的核心逻辑：</p>
<ol>
<li>假设内幕操盘者存在</li>
<li>跟随内幕操盘者进行操作</li>
</ol>
<p>在没有真实成交量数据的外汇现货市场，可以使用跳动点数据来做成交量的替代分析工具；跳动点可以按照拍卖报价来理解，报价跳动得越快，说明市场的成交量，活跃程度更高，情绪也更高涨。</p>
<blockquote>
<p>外汇交易市场是内幕操作最多的市场，“汇率战争”这个术语就可以证明。</p>
</blockquote>
<h3 id="volume-rule-利用成交量的方式和基本准则">Volume Rule 利用成交量的方式和基本准则</h3>
<p>在使用成交量的时候，需要注意以下的三个方面：</p>
<ul>
<li>成交量的<strong>大小是相对的</strong>：要考虑均值，也就是相对规模，相对性上的关系才是重中之重；</li>
<li>离开价格谈成交量是毫无意义的</li>
<li>时间也是关键因素之一，</li>
</ul>
<p>下面有一个例子，后面再细细体会：</p>
<ol>
<li>当熊市中市场以较大角度向下运行，而价格如瀑布般暴跌，伴随着巨大成交量，这就是买入高峰；（此时散户由于恐慌大量抛售，而主力正在低价买入，这时对我们而言就是一个机会。）</li>
<li>在牛市的顶点，我们发现成交量急剧放大，那么这就是一个抛售高峰。（主力向散户派发手中的股票，但是散户却认为价格就一步登天）</li>
</ol>
<p>!! 此外作者认为，这是一个&quot;酌情&quot;做出决策的策略，因此<strong>永远不具备自动化实施的可能</strong>，这点我需要质疑一下，看下后面具体的执行方法。</p>



  
  

<blockquote class="alert-blockquote alert-summary">
  <p class="alert-heading">
    <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" width="16" height="16">
      <path d="M0 8a8 8 0 1 1 16 0A8 8 0 0 1 0 8Zm8-6.5a6.5 6.5 0 1 0 0 13 6.5 6.5 0 0 0 0-13ZM6.5 7.75A.75.75 0 0 1 7.25 7h1a.75.75 0 0 1 .75.75v2.75h.25a.75.75 0 0 1 0 1.5h-2a.75.75 0 0 1 0-1.5h.25v-2h-.25a.75.75 0 0 1-.75-.75ZM8 6a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z"></path>
    </svg>
    <span>Summary</span>
  </p>
  <p>对于投资者和投机者而言，研究成交量的原因是为了洞察内部人士，或者说专业人士的举动，跟随他们的方向。</p>

</blockquote>
]]></content:encoded>
    </item>
    <item>
      <title>家庭服务器的具体备份实现</title>
      <link>https://aikenh.cn/posts/%E5%AE%B6%E5%BA%AD%E6%9C%8D%E5%8A%A1%E5%99%A8%E7%9A%84%E5%85%B7%E4%BD%93%E5%A4%87%E4%BB%BD%E5%AE%9E%E7%8E%B0/</link>
      <pubDate>Wed, 08 Jan 2025 11:14:30 +0000</pubDate>
      <guid>https://aikenh.cn/posts/%E5%AE%B6%E5%BA%AD%E6%9C%8D%E5%8A%A1%E5%99%A8%E7%9A%84%E5%85%B7%E4%BD%93%E5%A4%87%E4%BB%BD%E5%AE%9E%E7%8E%B0/</guid>
      <description>Descript for artical</description>
      <content:encoded><![CDATA[


  
  

<blockquote class="alert-blockquote alert-summary">
  <p class="alert-heading">
    <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" width="16" height="16">
      <path d="M0 8a8 8 0 1 1 16 0A8 8 0 0 1 0 8Zm8-6.5a6.5 6.5 0 1 0 0 13 6.5 6.5 0 0 0 0-13ZM6.5 7.75A.75.75 0 0 1 7.25 7h1a.75.75 0 0 1 .75.75v2.75h.25a.75.75 0 0 1 0 1.5h-2a.75.75 0 0 1 0-1.5h.25v-2h-.25a.75.75 0 0 1-.75-.75ZM8 6a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z"></path>
    </svg>
    <span>Summary</span>
  </p>
  <p>前文中选择了 Kopia 作为笔者的备份工具，本文记录具体的备份执行方案以便后续查阅；</p>

</blockquote>
<h2 id="-备份文件存储位置选择">🌐 备份文件存储位置选择</h2>
<p>
<div class="post-img-view">
  <a data-fancybox="gallery" href="https://picture-bed-001-1310572365.cos.ap-guangzhou.myqcloud.com/mac/20231229113137.png">
    <img alt="image.png" loading="lazy" src="https://picture-bed-001-1310572365.cos.ap-guangzhou.myqcloud.com/mac/20231229113137.png"class="responsive-image" src="https://picture-bed-001-1310572365.cos.ap-guangzhou.myqcloud.com/mac/20231229113137.png" style="display: block; margin: 0 auto;"
      alt="image.png"  />
  </a>
</div>


<script>
  document.addEventListener("DOMContentLoaded", function() {
      var images = document.querySelectorAll(".responsive-image");
      var maxHeight = window.innerHeight / 2.5;
      images.forEach(function(image) {
          image.style.maxHeight = maxHeight + "px";
      });
  });
</script>
</p>
<p>基于笔者的现实条件约束，最终没有完全遵循 3-2-1 去管理自己的备份，而是利用 kopia 以如下的 2-1-1 作为替代：</p>
<ul>
<li>2：除了原始数据，最终有 2 份分处不同位置的备份；</li>
<li>1：使用 kopia 在链接本机的移动 SSD 硬盘上存储第一份备份；</li>
<li>1：使用 kopia 和 Webdav 在阿里云盘上存储加密的第二份备份；</li>
</ul>
<p>此处考虑类似阿里云盘的第三方服务本身做了备份处理，具备一定的容灾能力，因此使用第三方存储服务去做一个备份点就相当于将部分备份任务转嫁出去了。</p>
<p>而对于第三方网盘可能出现的数据泄露的担忧，由于 kopia 本身备份和上传的是加密的内容，无法被直接查看，相当于在平台外还添加了一层隐私安全的保险，不用担心隐私泄露问题。</p>
<h2 id="-备份内容选择">📌 备份内容选择</h2>
<h3 id="immich-的备份和恢复">Immich 的备份和恢复</h3>
<pre class="mermaid">---
title: Immich的备份构成
---
flowchart TD
A[immich Server]--&gt; B[(user-Databse)]
A --&gt; C[(filesystem )]

B --&gt; D[AssertPath]
B --&gt; E[User Info]

C --&gt; F[Origin Assert]
C --donot need backup--&gt; G[Generate Assert]
  </pre>
  <p>受限于 Immich 的机制，文件和用户的关联是在上传过程中建立的，对应的关联信息是存储在数据库中（上图的 user-Database）<span class="sidenote-number"><small class="sidenote"><a href="https://immich.app/docs/administration/backup-and-restore/" target="_blank" rel="noopener">backup-and-restore</a></small></span>，如果仅对原始的 Assets 进行备份，<strong>没有备份数据库的话，会导致无法将图片和账号进行绑定，就会需要重新对大量的图片数据重新走上传/外部库导入流程</strong>；</p>
<p>重复的上传/外部库流程由于 1. 导入服务端原有的图片；2. 移动端设备的自动上传；会导致<strong>出现大量的重复图片</strong>，增加存储负担和查看体验；再加上其本身带来的<strong>时间和性能消耗</strong>，是非常得不偿失的。</p>
<p>如果不幸陷入了此等境地，上传建议使用<strong>外部库</strong><span class="sidenote-number"><small class="sidenote"><a href="https://immich.app/docs/features/libraries" target="_blank" rel="noopener">External Library</a></small></span>的方式来导入原有文件夹，这样可以迅速的对多个用户的多个目录去处理，然后等待其后台处理完毕；</p>
<h4 id="标准备份流程">标准备份流程</h4>
<p>言归正传，接下来分别介绍一下基于 Kopia 如何去实现一个正常的备份流程：</p>
<pre class="mermaid">---
title: 一、Kopia 备份Immich User-Dataset
---
flowchart LR

A[Immich] --&gt; B[AutoBackup-Process]
A --&gt; C[optional: Manual Backup Process]

B --&gt; D[Kopia Backup Process]
C --&gt; D
  </pre>
  <p>也就是说只需要在当天的<strong>数据库备份之后启动 kopia 对 immich 的备份任务</strong>即可，无论是定时的自动备份还是手动备份；</p>
<blockquote>
<p>为了便于备份，新版本的 Immich 每天会自动生成数据库的备份到 <code>UPLOAD_LOCATION/backups</code> 目录中</p>
</blockquote>
<p>手动备份的指令如下，执行手动任务的话可以使用 crontab 定时：</p>
<div class="code-block">
    <div class="code-title" onclick="toggleCode(this)">
        
        <span class="code-block-open"><ion-icon name="chevron-down-outline"></ion-icon></span>
        <span class="code-block-close"><ion-icon name="chevron-forward-outline"></ion-icon></ion-icon></span>
        <span>bash</span>
    </div>
    <div class="code-content">
        
        <div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">docker <span class="nb">exec</span> -t immich_postgres pg_dumpall --clean --if-exists --username<span class="o">=</span>postgres <span class="p">|</span> gzip &gt; <span class="s2">&#34;/path/to/backup/dump.sql.gz&#34;</span></span></span></code></pre></div>
    </div>
</div>

<script>
function toggleCode(element) {
    const codeContent = element.nextElementSibling;
    if (codeContent.style.display === "none" || codeContent.style.display === "") {
        codeContent.style.display = "block"; 
        codeContent.parentNode.classList.remove("code-has-hidden-child");
    } else {
        codeContent.style.display = "none"; 
        codeContent.parentNode.classList.add("code-has-hidden-child");
    }
}
</script><p>二、备份完数据库后，仅需备份/恢复对应的<strong>原始资源文件夹</strong>即可，原始资源文件夹如下：</p>
<ol>
<li><code>UPLOAD_LOCATION/library</code></li>
<li><code>UPLOAD_LOCATION/upload</code></li>
<li><code>UPLOAD_LOCATION/profile</code></li>
</ol>
<p>具体不同类别的存放路径会基于是否开启了 <code>Storage template</code> 有一些细微的区别<span class="sidenote-number"><small class="sidenote">参见 <a href="https://immich.app/docs/administration/backup-and-restore/#asset-types-and-storage-locations" target="_blank" rel="noopener">asset-types-and-storage-locations</a></small></span></p>
<p><strong>也就是说，只需要在指定的系统备份时间之后，启动 kopia 备份，并包含上述提到的 4 个目录，即可实现对 immich server 的充分备份。</strong></p>
<h4 id="标准还原流程">标准还原流程</h4>
<pre class="mermaid">---
title: 还原immich资源和设置
---
flowchart LR
A[(&#34;Kopia
Snapshort&#34;)] --&gt; B[&#34;Restore 
					Assert 
					Organize&#34;]
B --&gt; C[CreateImmich 
		WithoutRun]
C --&gt; D[Restore 
		Datast]
D --&gt; E[&#34;Run 
		 Immich&#34;] --update backup path--&gt; A
  </pre>
  <p>简而言之，这里最主要需要注意的就是在构建 Immich 之后，正式运行之前，就需要执行数据库的还原，避免运行后和生成的新数据库出现键值等的冲突；</p>
<blockquote>
<p>这里资产的位置还原可能没有说那么紧急，但是如果需要修改资产在 Upload_location 中的位置的话，可能需要手动对备份的数据库进行修改，不建议。</p>
</blockquote>
<p>还原脚本如下：</p>
<div class="code-block">
    <div class="code-title" onclick="toggleCode(this)">
        
        <span class="code-block-open"><ion-icon name="chevron-down-outline"></ion-icon></span>
        <span class="code-block-close"><ion-icon name="chevron-forward-outline"></ion-icon></ion-icon></span>
        <span>bash</span>
    </div>
    <div class="code-content">
        
        <div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">docker compose down -v  <span class="c1"># CAUTION! Deletes all Immich data to start from scratch</span>
</span></span><span class="line"><span class="cl"><span class="c1">## Uncomment the next line and replace DB_DATA_LOCATION with your Postgres path to permanently reset the Postgres database</span>
</span></span><span class="line"><span class="cl"><span class="c1"># rm -rf DB_DATA_LOCATION # CAUTION! Deletes all Immich data to start from scratch</span>
</span></span><span class="line"><span class="cl">docker compose pull             <span class="c1"># Update to latest version of Immich (if desired)</span>
</span></span><span class="line"><span class="cl">docker compose create           <span class="c1"># Create Docker containers for Immich apps without running them</span>
</span></span><span class="line"><span class="cl">docker start immich_postgres    <span class="c1"># Start Postgres server</span>
</span></span><span class="line"><span class="cl">sleep <span class="m">10</span>                        <span class="c1"># Wait for Postgres server to start up</span>
</span></span><span class="line"><span class="cl"><span class="c1"># Check the database user if you deviated from the default</span>
</span></span><span class="line"><span class="cl">gunzip &lt; <span class="s2">&#34;/path/to/backup/dump.sql.gz&#34;</span> <span class="se">\
</span></span></span><span class="line"><span class="cl"><span class="se"></span><span class="p">|</span> sed <span class="s2">&#34;s/SELECT pg_catalog.set_config(&#39;search_path&#39;, &#39;&#39;, false);/SELECT pg_catalog.set_config(&#39;search_path&#39;, &#39;public, pg_catalog&#39;, true);/g&#34;</span> <span class="se">\
</span></span></span><span class="line"><span class="cl"><span class="se"></span><span class="p">|</span> docker <span class="nb">exec</span> -i immich_postgres psql --username<span class="o">=</span>postgres  <span class="c1"># Restore Backup</span>
</span></span><span class="line"><span class="cl">docker compose up -d            <span class="c1"># Start remainder of Immich apps</span></span></span></code></pre></div>
    </div>
</div>

<script>
function toggleCode(element) {
    const codeContent = element.nextElementSibling;
    if (codeContent.style.display === "none" || codeContent.style.display === "") {
        codeContent.style.display = "block"; 
        codeContent.parentNode.classList.remove("code-has-hidden-child");
    } else {
        codeContent.style.display = "none"; 
        codeContent.parentNode.classList.add("code-has-hidden-child");
    }
}
</script><p>上面注释掉的 <code>rm -rf DB_DATA_LOCATION # CAUTION! Deletes all Immich data to start from scratch</code> 这一行就是在并非初次启动 Immich 的时候执行时，如果遇到 Postgres 的冲突，才需要执行，通过直接删除数据库来还原初始状态。</p>
<p>恢复后记得修改自己的 Kopia 中 immich 的新路径。</p>
<h3 id="docker-volume-的备份和恢复">Docker Volume 的备份和恢复</h3>
<p><a href="https://sealhuang.github.io/migrate-docker-volume-from-one-host-to-another" target="_blank" rel="noopener">如何对Docker的volume文件在主机间迁移 | sealhuang&rsquo;s blog</a>
</p>
<h3 id="linkstack-的备份和恢复">Linkstack 的备份和恢复</h3>
<p>
<div class="post-img-view">
  <a data-fancybox="gallery" href="https://picture-bed-001-1310572365.cos.ap-guangzhou.myqcloud.com/3070PC/20250206202410.png">
    <img alt="image.png" loading="lazy" src="https://picture-bed-001-1310572365.cos.ap-guangzhou.myqcloud.com/3070PC/20250206202410.png"class="responsive-image" src="https://picture-bed-001-1310572365.cos.ap-guangzhou.myqcloud.com/3070PC/20250206202410.png" style="display: block; margin: 0 auto;"
      alt="image.png"  />
  </a>
</div>


<script>
  document.addEventListener("DOMContentLoaded", function() {
      var images = document.querySelectorAll(".responsive-image");
      var maxHeight = window.innerHeight / 2.5;
      images.forEach(function(image) {
          image.style.maxHeight = maxHeight + "px";
      });
  });
</script>
</p>
<h2 id="-kopia-设置">⚙️ Kopia 设置</h2>
<h3 id="basic-setting-基础设置">Basic Setting 基础设置</h3>
<ul>
<li>设置备份时间和频率</li>
<li>其他的使用默认的即可</li>
</ul>
<h3 id="kopia-连接阿里云盘">Kopia 连接阿里云盘</h3>
<p>要将阿里云盘作为 Kopia 的一个备份仓库，需要使用 Webdav 去使得 Kopia 连接阿里云盘，但是由于阿里云盘官方第三方服务包提供的 <strong>Webdav 仅支持文件的读取，并不支持文件的写入</strong>，因此官方的 webdav 服务无法满足该需求；</p>
<ul>
<li>
<div class="post-img-view">
  <a data-fancybox="gallery" href="https://picture-bed-001-1310572365.cos.ap-guangzhou.myqcloud.com/mac/2761737431201_.pic.jpg">
    <img alt="2761737431201_.pic.jpg" loading="lazy" src="https://picture-bed-001-1310572365.cos.ap-guangzhou.myqcloud.com/mac/2761737431201_.pic.jpg"class="responsive-image" src="https://picture-bed-001-1310572365.cos.ap-guangzhou.myqcloud.com/mac/2761737431201_.pic.jpg" style="display: block; margin: 0 auto;"
      alt="2761737431201_.pic.jpg"  />
  </a>
</div>


<script>
  document.addEventListener("DOMContentLoaded", function() {
      var images = document.querySelectorAll(".responsive-image");
      var maxHeight = window.innerHeight / 2.5;
      images.forEach(function(image) {
          image.style.maxHeight = maxHeight + "px";
      });
  });
</script>
</li>
</ul>
<p>因此需要使用开源的第三方服务来挂载阿里云盘，并通过第三方服务映射出来的较为完备的 webdav 功能来连接 kopia ，进而使其作为存储仓库；这里有较多的选择，可以自行查阅其他选择，此处笔者使用的是家庭服务中提及的 <strong><a href="https://alist.nn.ci/zh/guide/webdav.html" target="_blank" rel="noopener">Alist</a>
</strong>，下面简单介绍一下相关的参数配置：</p>
<div class="code-block">
    <div class="code-title" onclick="toggleCode(this)">
        
        <span class="code-block-open"><ion-icon name="chevron-down-outline"></ion-icon></span>
        <span class="code-block-close"><ion-icon name="chevron-forward-outline"></ion-icon></ion-icon></span>
        <span>txt</span>
    </div>
    <div class="code-content">
        
        <div class="highlight"><pre tabindex="0" class="chroma"><code class="language-txt" data-lang="txt"><span class="line"><span class="cl">基于ip的url: https://{ip}:{port}/dav/{specific_path}
</span></span><span class="line"><span class="cl">基于domain的url: https://{domain}/dav/{specific_path}
</span></span><span class="line"><span class="cl">基于二级域名alist的url: https://{domain}/alist/dav/{specific_dirctory_path}</span></span></code></pre></div>
    </div>
</div>

<script>
function toggleCode(element) {
    const codeContent = element.nextElementSibling;
    if (codeContent.style.display === "none" || codeContent.style.display === "") {
        codeContent.style.display = "block"; 
        codeContent.parentNode.classList.remove("code-has-hidden-child");
    } else {
        codeContent.style.display = "none"; 
        codeContent.parentNode.classList.add("code-has-hidden-child");
    }
}
</script><p>账号和密码同 Alist 的登录账号名和密码即可</p>
]]></content:encoded>
    </item>
  </channel>
</rss>
