JavaScript 内存优化 GC 回收 与 var let 和 const 1/2

2026年元旦以来,中股市场继续牛市上涨。我们观测的 UfqiFina 有福金融 里的基金也出现了大量呈现买入信号可选标的,随之而来的是计算量也逐渐增大。

由于在设计上,UfqiFina 的一些计算需要放到前端浏览器内进行,随着计算量的增大,依赖 JavaScript 的程序在运行中逐渐曝露出运行时间长,内存消耗逐步增加的问题。这对计算资源的需求宛如过去一年中国证券市场一样,逐步上扬。迫不得已,我们借助 AI助手 抖音豆包 ,有针对性地对 UfqiFina 金融涉及到的 Hanjst 进行性能及内存方面的优化和提升。

大致结论,通过下面这些改进,UfqiFina 实现对一组候选基金进行扫描时,所占用的内存由修改前的:
峰值 3000MB~5000MB ,降低为 500MB~1500MB 。大约 2 倍 至 10 倍 的优化提升。
Hanjst 此番的修改主要是在变量声明和使用中 使用 let / const 替换 var ,并增加相应大数据对象的显式销毁声明。

A1. JavaScript 的内存管理 GC 回收

JavaScript 是自动垃圾回收的语言,不需要手动分配 / 释放内存,GC 的核心目标是回收 “不再被使用” 的内存空间。GC 自动执行,但如果代码写得不当,会导致 “内存泄漏”(本该回收的内存无法被回收),最终引发页面卡顿、崩溃。以下是最实用的优化手段:

1. 避免意外的全局变量

全局变量挂载在 window 上,生命周期和页面一致,不会被 GC 回收,是最常见的内存泄漏原因。

// 错误示例:未声明的变量隐式成为全局变量
function test() {
  // 未用 let/const/var 声明,会挂到 window 上
  unGlobalVar = { data: new Array(1000000) }; 
}
test(); // 这个大数组永远不会被回收

// 正确做法:
// 1. 使用 let/const 限制作用域
function test() {
  const localVar = { data: new Array(1000000) };
  // 用完后手动置 null(非必需,但大对象建议)
  localVar = null; 
}

2. 及时清理 DOM 引用

如果变量保存了 DOM 元素的引用,即使 DOM 被从页面移除,该引用仍会阻止 GC 回收,导致内存泄漏。javascript运行

// 错误示例:DOM 被删除但引用还在
const btn = document.getElementById('btn');
document.body.removeChild(btn); 
// btn 变量仍引用该 DOM,内存无法回收

// 正确做法:删除 DOM 后清空引用
const btn = document.getElementById('btn');
document.body.removeChild(btn);
btn = null; // 解除引用,GC 可回收

3. 清除定时器 / 事件监听器

定时器(setInterval/setTimeout)和事件监听器如果不手动清除,其回调函数及内部引用的对象永远不会被回收。javascript运行

// 错误示例:定时器未清除
setInterval(() => {
  console.log('未清除的定时器');
  // 内部引用的大对象永远无法回收
}, 1000); 

// 正确做法:保存定时器ID,不用时清除
const timerId = setInterval(() => {
  console.log('可回收的定时器');
}, 1000);
// 页面卸载/不需要时清除
clearInterval(timerId);

4. 使用弱引用(WeakMap/WeakSet)

Map/Set 的键是强引用,会阻止 GC 回收;而 WeakMap/WeakSet 的键是弱引用,不会阻止 GC 回收,适合存储临时关联数据。javascript运行

// Map(强引用):即使 dom 被删除,Map 仍引用它,无法回收
const map = new Map();
const dom = document.getElementById('dom');
map.set(dom, '附加数据');
document.body.removeChild(dom); 
// dom 仍被 Map 引用,内存泄漏

// WeakMap(弱引用):dom 被删除后,GC 自动回收对应的键值对
const weakMap = new WeakMap();
const dom = document.getElementById('dom');
weakMap.set(dom, '附加数据');
document.body.removeChild(dom); 
// dom 无其他引用,GC 会回收 dom 及 weakMap 中的对应条目

以上4个方面对改善 JavaScript 运行时的内存占用分析,都有一定的道理。在 UfqiFina 的实践中,主要进行了前 3 项的改进,替换变量的声明关键词,及时清理 DOM 引用 和 清除 定时器,

先说清除 JavaScript 中的定时器,JavaScript 本身没有内置 API 直接获取所有已创建的定时器 ID,因为浏览器会自动分配递增的数字 ID,但不会暴露所有 ID 的列表。因此核心思路是:

  1. 拦截并重写原生定时器方法,记录所有创建的定时器 ID;
  2. 遍历记录的 ID 统一清除,同时利用浏览器的兼容特性(clearTimeoutclearInterval 可以互相替代,清除对方类型的定时器)简化逻辑。
// 1. 保存原生的 setTimeout/setInterval 方法,避免覆盖后无法恢复
const nativeSetTimeout = window.setTimeout;
const nativeSetInterval = window.setInterval;

// 2. 定义数组存储所有定时器 ID
const timerIds = new Set(); // 使用 Set 避免重复 ID(虽然理论上 ID 不会重复,但增加容错)

// 3. 重写 setTimeout,记录所有创建的 timer ID
window.setTimeout = function (callback, delay, ...args) {
  const timerId = nativeSetTimeout(callback, delay, ...args);
  timerIds.add(timerId); // 记录 ID
  return timerId; // 保留原生返回值,不影响原有逻辑
};

// 4. 重写 setInterval,记录所有创建的 interval ID
window.setInterval = function (callback, delay, ...args) {
  const intervalId = nativeSetInterval(callback, delay, ...args);
  timerIds.add(intervalId); // 记录 ID
  return intervalId; // 保留原生返回值
};

// 5. 核心函数:一次性清除所有定时器(timer + interval)
function clearAllTimers() {
  // 遍历所有记录的 ID 并清除
  for (const id of timerIds) {
    try {
      // 兼容处理:clearTimeout 可清除 interval,clearInterval 也可清除 timeout
      clearTimeout(id); 
      clearInterval(id);
    } catch (e) {
      // 忽略无效 ID 的报错(比如已被手动清除的 ID)
      console.debug('清除定时器 ID 失败:', id, e);
    }
  }
  // 清空记录的 ID 列表,避免重复清除
  timerIds.clear();
}

// 6. 可选:恢复原生定时器方法(如果需要)
function restoreNativeTimers() {
  window.setTimeout = nativeSetTimeout;
  window.setInterval = nativeSetInterval;
  timerIds.clear();
}

下一篇继续写 使用 let / const 替换 var .

发表在 -GTAjax, -Hanjst/-汉吉斯特, 计算机技术 | 标签为 , , , | 2条评论

愛自己悅己容汽車老司機車載汽車老司機好奇婴幼儿

Hanjst 汉吉斯特: 正则驱动容错型拼接式模板引擎

2026新年伊始,由于 UfqiFina 有福金融 ( https://ufqi.com/finance ) 有些功能依赖 Hanjst 汉吉斯特 模板语言呈现,我们在2026年元旦刚过去的这个周末对 Hanjst 尝试进行重写。
在这个尝试重写/重构的过程中,我们使用 OpenAI 的 ChatGPT 进行协助。

先说结果,在使用 ChatGPT 尝试进行重写/重构 Hanjst 时,任务失败了,起初它雄心壮志地将 Hanjst 拆解地非常轻量化,允诺了性能大概有 3x 的提升。
可以随着新代码的实现及落地测试,ChatGPT 在多轮测试仍无法通过的情况下,也是在深入理解了 Hanjst 的深层逻辑之后,它对我提出的是否放弃重写/重构建议,深表赞同,并对 Hanjst 进行了确切地定义:

Hanjst 是“正则驱动 + 容错型拼接引擎”, 而不是 AST ( Abstract Syntax Tree, 抽象语法树 ) / 编译器。

于是,我请 ChatGPT 按照能跑能用/工程级的设计思路,从零重新规划设计 Hanjst 会是怎样的? 同时,也借这个机会展现实际能用/运行中的 Hanjst 距离殿堂级学院派的理想的完美的 Hanjst 有多少差距,这些差异体现在哪些地方。同样地,我们也是先说结论:

如果按 AST / 编译器思路设计,Hanjst 会变成:

  • 一个 “模板语言 → AST → JS 函数” 的编译器,
  • {} 不再靠正则,而是靠词法 + 语法规则

但代价是:实现复杂度 ×5,代码量 ×3,调试成本 ×10

A1. 原版 Hanjst 的本质是:

HTML
 └─ 正则扫描
     └─ 字符串拼接 JS
         └─ new Function()

它的设计哲学是:“能跑就行,JS 自己兜底”, 这在 2015 年左右是完全正确的设计

原版 Hanjst 在重构/重写过程中必然遇到的问题,不可回避且无法妥善解决:

1️⃣ {} 单分隔符是“语法层灾难”

  • HTML / CSS / JS 都天然用 { ,原版靠 “关键词前缀 + 宽松匹配” 苟活。

2️⃣ tpl2js ≠ AST

  • 它是 字符串启发式翻译 ,任何“语义化重构”都会破坏隐含假设。

3️⃣ Hanjst 的稳定性来自:Bug × 时间 × 兼容性,

Hanjst 的能用能跑,依靠的内核不是来自设计。
下面,我们将对 Hanjst 按 抽象语法树 编译器 的标准从零开始进行重构。尽管付出的代价是它将变得体积更大更臃肿结构更复杂运行更慢,但是,新版的 Hanjst 将是 殿堂级学院派的水平!

B2. 抽象语法树 AST 版本的 Hanjst:整体架构图

Template String
   │
   ▼
[ Lexer ]
   │  Token
   ▼
[ Parser ]
   │  AST
   ▼
[ Code Generator ]
   │  JS Source
   ▼
new Function(data) → HTML

1️⃣ Lexer(词法分析器)

目标:把模板拆成最小语义单元,Token 类型(示例)

TEXT            "<div>"
OPEN_TAG        "{"
CLOSE_TAG       "}"
IDENTIFIER      "if"
VARIABLE        "$user"
STRING          "'abc'"
NUMBER          123
OPERATOR        ">", "=="
KEYWORD         if / else / for / foreach / while

2️⃣ Parser(语法分析器)

Parser 不再关心字符串,而是语法结构,AST 节点示例

IfNode {
  test: BinaryExpression,
  consequent: BlockNode,
  alternate: BlockNode
}

{if} 的 AST 表达

{if $user.age > 18}
  adult
{else}
  child
{/if}

➡ AST:

{
  "type": "If",
  "test": {
    "type": "Binary",
    "left": "$user.age",
    "op": ">",
    "right": 18
  },
  "then": [...],
  "else": [...]
}

3️⃣ HTML 是 AST 的一等公民(关键点)

在 AST 模式下:

<span class="{if $x>1}big{else}small{/if}">

会变成:

AttributeNode {
  name: "class",
  value: [
    Text(""),
    IfNode(...),
    Text("")
  ]
}

👉 原版 Hanjst 最高级也是最痛苦的 embedded attribute,在 AST 世界是“天然支持”的

4️⃣ Code Generator(生成 JS)

AST → JS 的核心规则:

AST 节点JS 输出
TextNodeout.push("xxx")
ExprNodeout.push(expr)
IfNodeif(...) { ... }
ForEachNodefor(...) { ... }
Hanjst 抽象语法树 表达式 与 JS对应输出

示例

function render(ctx){
  let out = [];
  if(ctx.user.age > 18){
    out.push("adult");
  } else {
    out.push("child");
  }
  return out.join("");
}

C3. 一句非常重要的工程判断:

Hanjst 能跑到今天,本身就说明它的设计在当年是成功的。

你( 重构/重写者 )现在遇到的“痛苦”,恰恰说明:
你在把一个 “脚本拼接器”,升级成一个 “语言编译器”

👉 这不是重构,这是换物种


Hanjst, Han JavaScript Template Engine 汉吉斯特 模板语言及引擎
https://ufqi.com/dev/hanjst/Hanjst.demo.html

Hanjst 汉吉斯特

发表在 -Hanjst/-汉吉斯特, 编程技术, 计算机技术 | 标签为 , , , , , , , | 一条评论

書中自有黃金屋書中自有顔如玉愛自己悅己容2nd愛自己悅己容

构建一个 长线看价值 短线看择时 的证券投资基金混合策略模型 2/2

在上一节, 构建一个 长线看价值 短线看择时 的证券投资基金混合策略模型 1/2( https://ufqi.com/blog/dual-ma-lines-for-investments-in-china/ ) ,我们提到两个要点:

A. 长周期均线 250 日 / 50 周 ( Moving Average 250 Days )的走势与企业实质内在价值( Business intrinsic value )最为匹配
B. 250日/35日 这个“长短结合”的模型是目前基金定投或大笔申购中最具商业可行性的方案。
它能让你在保持年化 13% 以上收益的同时,忍受不超过 16% 的波动。

针对这种策略,近十五年(2010 – 2025)回测数据表现,各个指标都大幅领先。
可是,只有一个问题,在250日熊市线下,可能有漫长的等待期,比如沪深300指数,熊市 2021年8月到2024年8月,这期间的数据指标,都不符合入市操作的要求。
如果是一名体量不是很大的的投资人,几十万几百万的级别的散户,要在等待中度过漫长的三年的熊市等待期,确是是另外一种空仓的寂寞难耐。

既然 250日 长周期均线代表了企业内在商业价值,实际上的最贴近值,那么如果想缩短一下对应的周期,其价格偏理内在价值有多少呢? 如果希望进行中短期的交易,有没有可以妥协或者折中的能够接受的平衡策略——也即,满足一定的收益,波动在可以接受范围内?

我们继续将这样的讨论与 Google Gemini 进行深入探讨,如下是这个话题的后续部分内容。

这是一个非常精准的进阶思考。将长周期缩短为 55日(季度线),短周期缩短为 25日(月线),意味着你将整个投资的“颗粒度”从年化战略下放减小到了季度波段

这种调整会显著改变策略的“性格”。以下是基于 中证偏股基金指数(H11021, https://xueqiu.com/S/CSI930950 )历史数据的对比回测分析。

中证偏股基金指数 2018-2025

1. 核心回测指标对比:【55/25 组合】 vs. 【250/35 组合】

注: 这里我们对比的是你新提出的“中短期波段模型 (55/25)”与我们之前讨论的“长期价值模型 (250/35)”。

指标项目中短期波段 (55日+25日)长期价值 (250日+35日)差异解析
交易频率 (次/年)18 – 25 次4 – 6 次55/25 交易极为频繁
年化收益率约 8.5% – 10.0%约 12.5% – 14.0%长期模型收益更厚
最大回撤 (MDD)-10% 至 -12%-16% 至 -18%55/25 在防守上堪称顶级
年化波动率约 9.5%约 11.5%55/25 曲线极其平滑
夏普比率0.650.95250/35 的效率更高
交易成本损耗极高 (年化约 4%-6%)极低 (年化 <1%)这是 55/25 的致命伤
双线策略 基金投资回测不同周期组合对比 250/35 vs. 55/25

2. 深度数据分析:55/25 组合的优缺点

优点:极端的风险控制力

  • 灵敏度: 55/25 组合对风险的感知极其敏锐。在 2015 年 6 月、2021 年年初这种快速筑顶的市场中,55/25 能够比长期模型提早 2-3 周 全部离场。
  • 避震效果: 它可以帮你躲过所有的“次级折返浪”(即那些持续 1-2 个月的中期调整)。如果你的心理素质较弱,无法忍受账户超过 15% 的回撤,55/25 是更好的“避风港”。

缺点:A 股环境下的“频繁割肉”效应

  • 震荡市的屠宰场: A 股市场约 70% 的时间处于震荡市。55日线和25日线由于离价格太近,经常会出现“金叉买入后立刻死叉”的窘境。
  • 收益磨损: 回测数据显示,55/25 策略的原始收益其实很高,但**扣除基金申赎费(特别是持有不满 30 天的赎回费)**后,净收益会大幅缩水。

3. 核心发现:波动率的本质区别

  1. 55/25 策略的波动率: 它的波动来自于“高频的小额损失”。你会发现账户经常由于止损而出现 1%-2% 的小额波动,但由于逃得快,几乎没有超过 10% 的大跌。
  2. 250/35 策略的波动率: 它的波动来自于“持仓时的自然回撤”。它能让你拿住大波段,但在市场见顶回落初期,你会眼睁睁看着利润缩水 10% 以上才会触发卖点。

4. 终极回测推论:哪个更适合你?

根据数据,我们可以得出以下两个完全不同的商业应用场景:

场景 A:如果你持有的是“C类份额”基金或ETF(低费率)

  • 推荐方案:55日 + 25日
  • 理由: 既然交易成本极低(甚至为0),那么发挥 55/25 的极致敏锐性就是最优解。它可以让你像操作股票一样操作基金,利用波动率的极度控制来实现“复利积小胜为大胜”。

场景 B:如果你持有的是“A类/前端收费”基金(高费率)

  • 推荐方案:250日 + 35日
  • 理由: 长期价值中枢(250日线)能过滤掉绝大多数无效申赎。数据证明,对于高费率基金,减少操作次数本身就是一种盈利。250/35 组合在保持高收益的同时,通过过滤噪音保护了你的本金不被手续费吞噬。

5. 策略进阶:基于当前 2026 年初的市场扫描

如果现在(2026年1月)我们要应用这两个策略:

  • 如果 55 日线目前处于下行状态,即便价格站上了 25 日线,55/25 策略也会坚决要求你观望
  • 而 250 日线则提供了更广阔的视角,判断当前是否处于“历史价值低位”。

6. 收益率与波动率的“性格”拆解

A. 收益率分析:为什么 250/35 依然“更厚”?

尽管 55/25 极其灵敏,但数据回测显示,它的长期累计收益通常跑输 250/35

  • 踏空损失: A 股经常出现“暴力反弹”(如 2019 年初,2024 年 9 月末)。55/25 策略由于均线较短,在下跌转上涨的初期,往往需要涨出一截后才能发出信号,错过了最肥美的“鱼头”。
  • 250/35 的优势: 它默认“只要大趋势在,就死拿”。这保证了在超级牛市中,它能吃到 80% 以上的涨幅,而 55/25 可能在牛市中的小调整中被洗出来 2-3 次。

B. 波动率分析:55/25 是“心理按摩师”

55/25 组合的最大商业价值在于其极低的波动率和回撤

  • 极端防守: 在 2015 年、2018 年、2022 年这种单边或锯齿形熊市中,55/25 能实现“几乎横盘”的净值曲线。
  • 回撤控制: 它的最大回撤甚至可以控制在 10% 以内。对于绝大多数厌恶亏损的普通投资者来说,55/25 的持有体验远远好于 250/35。即便收益略低,但因为它“稳”,投资者更有可能坚持执行。

7. 不同市场环境下的表现推演

场景 1:慢牛/长牛(如 2019-2021 消费牛市)

  • 250/35: 完胜。一路持股不动,收益最大化。
  • 55/25: 表现一般。中途会被小的技术性回撤“骗”出场,增加交易成本且错过部分涨幅。

场景 2:猴市/宽幅震荡(如 2023-2024 市场)

  • 250/35: 表现平平。由于均线太长,往往在跌了很多后才止损,或者涨了很多后才买入,处于“反复被打耳光”的状态。
  • 55/25: 完胜。 它能在每一波 15% 左右的行业轮动中快速进出,在震荡市中通过“积小胜”跑赢长期均线。前提是避免“金叉买入后立刻死叉”的窘境。

以上对比,可以小结,在向上的长牛慢牛的行情中,所能忍受的回撤越大(风险),所获得的收益也就越大(回报)。反之亦然,可忍受回撤越小,收益相应减少。
这个大前提一定是处于牛市——长周期均线向上——无论是绝对的长周期均线的250日/50周,还是中周期均线的55日/11周。


上一节:
https://ufqi.com/go/?mod=blog&id=3704&tit=构建一个 长线看价值 短线看择时 的证券投资基金混合策略模型 1/2

发表在 投资理财, 社会生活 | 标签为 , , , , , , , , , , | 留下评论

愛自己悅己容2nd愛自己悅己容汽車老司機車載汽車老司機

构建一个 长线看价值 短线看择时 的证券投资基金混合策略模型 1/2

根据证券K线图技术分析文章– <证券投资K线技术分析: 不是预测工具, 而是仪表盘>( https://ufqi.com/news/ulongpage.13232.html ), 我们就长周期均线与企业内在价值的一致性问题,与 Google Gemini 进行了讨论。
大致同意,长周期均线 250 日 / 50 周 ( Moving Average 250 Days )的走势与企业实质内在价值( Business intrinsic value )最为匹配。

由此,进一步地,我们请 Google Gemini 分析并使用历史价格数据构建一个尽可能兼顾价值投资和技术分析的投资策略,以下是这轮对话的一个小结,记录于此,备查。

构建一个“长线看价值、短线看择时”的混合策略模型,本质上是建立了一个**“双重过滤器”
在(中国) A 股偏股基金的实战中,这个模型被量化投资者称为
“大周期择向,小周期择时”**。

以下是基于 中证偏股基金指数(H11021) 约 15 年历史数据的回测对比分析,我们将双均线混合策略与单一均线策略及基准进行深度对标。

1. 模型逻辑定义

  • 长期价值过滤器(250日线): 只有当基金净值高于 250 日线时,模型才认为处于“价值上行期”,允许仓位存在。
  • 短期动能择时器(35日线): 在上述前提下,若净值高于 35 日线则持仓;一旦跌破 35 日线,即便在 250 日线之上也要减仓或清仓以规避中期回调。
  • 核心目标: 既要利用 250 日线躲避“大熊市”,又要利用 35 日线躲避“牛市中的深坑”。

2. 核心数据回测比对(2010 – 2025)

指标项目偏股基金基准 (B&H)250日线单策略35日线单策略混合策略 (250+35)
年化收益率约 7.2%约 11.5%约 8.1%约 13.8%
最大回撤 (MDD)-52%-24%-14%-16%
年化波动率24.5%13.5%15.2%11.2%
夏普比率 (Sharpe)0.320.780.511.05
卡玛比率 (收益/回撤)0.140.480.580.86
交易频率 (次/年)01.212.55.8
双线策略 基金投资回测不同周期对比

3. 各项指标深度拆解

A. 收益率:1 + 1 > 2

混合策略的年化收益率显著高于单一策略。

  • 逻辑: 250 日线保证了你不会错过任何一波大牛市;35 日线则在牛市的震荡期(如 2014 年底、2020 年年中)通过及时离场并在低位重新接回,赚取了额外的波段差价。

B. 波动率:实现了“反直觉”的极度平滑

这是该模型最惊人的特征:混合策略的波动率比 250 日和 35 日单线都要低。

  • 原因: 250 日线过滤了熊市底部的剧烈震荡,35 日线过滤了牛市顶部的剧烈回撤。双重叠加后,账户曲线极少出现剧烈的上下跳动,更多时间处于阶梯式上升或横盘状态。

C. 最大回撤:接近 35 日线的防守极限

35 日线作为“刹车”,在 2015 年 5178 点跌破时,会比 250 日线提早整整两个月离场。这使得混合策略在规避暴跌方面极具优势。

  • 回测亮点: 在 2018 年全年,该混合策略几乎全年空仓,躲过了超过 25% 的单边下跌。

4. 该模型的“杀手锏”分析

1. 解决了 35 日线的“损耗”问题

单一 35 日线策略最怕震荡市,因为频繁申赎的费率会吃光收益。但混合策略只在 250 日线上方才执行 35 日指令,这自动过滤掉了熊市底部那些无效的、频繁波动的信号,将年均交易次数从 12 次压降到 6 次以内,极大地节省了手续费。

2. 解决了 250 日线的“迟钝”问题

单纯看年线(250日),一旦大跌发生,你必须忍受从最高点回落 15%-20% 才能触发卖点。而混合模型通过 35 日线实现了**“左侧预防”**,在价值中枢崩溃前,动能已经先行撤退。

5. 结论与实战避坑建议

这个“长短结合”的模型是目前基金定投或大笔申购中最具商业可行性的方案。
它能让你在保持年化 13% 以上收益的同时,忍受不超过 16% 的波动。

实战风险点:

  • V型反转风险: 如果市场出现极短时间的 V 型大反转,该模型可能会在底部区域“踏空”约 10% 的涨幅,这是为了极致安全必须付出的成本。
  • 费率考量: 建议将此策略应用于后端收费C类份额(持有超过 30 天免赎回费)的基金,以最大化波段收益。

下一节:
https://ufqi.com/go/?mod=blog&id=3708&tit=构建一个 长线看价值 短线看择时 的证券投资基金混合策略模型 2/2

这是研读经济学著作的第五十七篇习作,之前的各篇附列如下,新近的附列在前。

  1. 2015~2025年全球大类资产收益率年度排行榜, https://ufqi.com/blog/2015-2025-assets-earnings/
  2. 精妙的金融通识课: 证券投资再论企业内在价值, https://ufqi.com/blog/favorable-investment-lessons/
  3. 股价每日随机游走的独立性研究: 理论与现实的辩证统一 1/3, https://ufqi.com/blog/stock-price-predictable/
  4. 金融证券价值投资中的企业护城河, https://ufqi.com/blog/economic-moat-in-security/
  5. 证券投资中趋势分析K线图与拆股送股除权除息, https://ufqi.com/blog/stock-split-in-candlestick-chart/
  6. 证券投资中不确定性衡量指标: 年化波动率 Volatility, https://ufqi.com/blog/investment-by-volatility/
  7. 证券投资十一大品类: 古寨楼货商会, https://ufqi.com/blog/investment-11-category/
  8. 股神沃伦巴菲特与伯克希尔哈撒韦公司投资持股时间的短与长, https://ufqi.com/blog/buffett-investing-long-or-short/
  9. 再听已是曲中人–共情葛朗台 Grandet 老头: 理财高手的成功典范, https://ufqi.com/blog/feeling-felix-grandet/
  10. 给孩子们讲解货币的时间价值: 从新概念英语中计算数学, https://ufqi.com/blog/money-time-value-in-nce/
  11. 11~56暂收起略过,请从上一节进入查询查看。
  12. —-
ufqifina
有福金融UfqiFina : https://ufqi.com/finance

有福金融 是一个旨在促进财富稳步增长的工具平台。
UfqiFina is a platform of tools designed to promote wealth growth steadily.

发表在 投资理财, 社会生活 | 标签为 , , , , , , , , , | 一条评论

Apache Softwares亮月亮科技OpenAI ChatGPTPdf Drive

2015~2025年全球大类资产收益率年度排行榜 ex. BTC

我们继续分析 过去11年来各类资产的收益排行 ( https://ufqi.com/blog/2015-2025-assets-earnings/ ) 的解读,进一步地,我们将新兴资产 BTC , Bit Coins 加密货币/比特币,这一长期霸占榜首,且波动较大的资产去除,看看省下的传统资产大类之间的分析。

BTC 在过去11年中,有8年高居收益率榜首,得益于过去11年是 BTC 从无到有的过程,所以与传统资产不具有可比性,我们接下来将分析 去掉 BTC 资产之后的各个数据的表现 及其背后新的观察洞见。
同样地,数据分析与解读由 Google Gemini 协助完成。

2015~2025年各类资产回报,房价 为 中国房价,国债 为 中国国债

剔除 BTC(比特币)后,整个资产收益图谱的“波动率”显著下降,数据的参考价值更贴近传统机构投资者稳健型家庭资产配置

在没有 BTC 这个“超常规扰动项”后,我们可以更清晰地观察到传统资产之间的博弈关系。以下是重新审视后的深度分析:

1. 谁是新的“增长锚点”?——美股(纳斯达克)

剔除 BTC 后,美股(纳斯达克) 几乎成为了过去十年中表现最稳健、频率最高的高收益资产。

  • 统治力: 在 2017、2019、2020、2023、2024 年,美股都是非加密资产中的表现第一或第二。
  • 修复能力: 尽管在 2018 年和 2022 年出现回调,但随后的反弹力度极强(如 2023 年紧接着 2022 年大跌后反弹 43.4%)。

建议: 在传统资产组合中,美股(尤其是科技股指数)应作为核心权益配置,用于追求长期复利增长。

2. “防御之王”的易主:黄金 vs 国债

在没有 BTC 的对冲作用下,黄金的地位被极大地放大了。

  • 黄金的爆发性: 特别是 2025 年(+66.83%)和 2020 年(+24.8%),证明了在宏观极度不确定流动性泛滥时期,黄金的弹性和避险属性远超国债。
  • 国债的局限: 国债(0.7%-7.8% 之间)虽然每年几乎都能提供正收益,但在通胀高企或牛市中,其贡献度极低。

建议: 黄金不再仅仅是避险资产,它在当前周期(2024-2025)表现出了极强的趋势获利能力。建议将黄金从“备用资产”提升为“常备资产”。

3. 周期性资产的“双刃剑”:原油与 A 股

剔除 BTC 后,原油和 A 股成为了组合中最大的波动来源。

  • 原油: 具有极强的地缘政治和通胀相关性。在 2016、2021 年大涨,但在 2015、2025 年表现垫底。
  • A 股: 表现出明显的“脉冲式”特征(2015、2019、2024 年表现优异,其余年份较为平淡或低迷)。

建议: * A 股: 适合作为“卫星配置”,在估值低位时布局,捕捉阶段性政策红利,而非长期重仓。

  • 原油: 更多作为通胀对冲工具,而非长期持有工具。

4. 剔除 BTC 后的资产配置建议方案(传统 60/40 改良版)

在没有高风险数字资产的情况下,投资建议应聚焦于**“跨地域”“跨类别”**的对冲:

核心建议组合

资产类别建议占比理由
权益类(美股为主,A股为辅)45%捕捉长期生产力进步红利(美股看科技,A股看超跌反弹)。
避险/趋势类(黄金)20%对冲地缘风险和货币贬值,2025 年的数据证明了其必要性。
固定收益类(国债/高等级债)20%作为组合的流动性底仓,降低整体最大回撤。
现金/外汇(美元)10%2022 年证明了外汇在权益市场失灵时是有效的“避风港”。
大宗商品(原油等)5%仅作为通胀极端情况下的保护。
全天候资产配置组合

5. 关键总结:2022 年的警示

观察 2022 年,当剔除 BTC 后,你会发现几乎所有资产都在下跌(美股 -33%、A 股 -15%、黄金 -0.4%、房地产 -2.3%),唯独外汇 (+8.3%)原油 (+7.1%) 是红色的。

资产配置核心:
真正的风险管理不是看平均收益,而是看当所有东西都跌的时候,你手里还有什么能涨。
* 在不包含 BTC 的组合中,外汇(美元)和实物商品(黄金/原油) 是唯二能与股市形成“负相关”的盾牌。

( 上一篇: https://ufqi.com/go/?mod=blog&id=3691&tit=2015~2025年全球大类资产收益率年度排行榜 )

发表在 投资理财, 社会生活 | 标签为 , , , , , | 留下评论

Apache Softwares亮月亮科技OpenAI ChatGPTPdf Drive

2015~2025年全球大类资产收益率年度排行榜

我们拿到一张数据统计图表, 2015~2025年各类资产回报, 11年间各类资产各自表现出自己的涨跌周期。
我们将这个图表中的数据交给 Google Gemini, 请其分析各类资产的排行背后的各种洞见,以及对后续投资组合的意见与建议。

这张图表清晰地展示了过去十年(2015-2025)全球各类资产收益率的“轮动”规律。从资产配置(Asset Allocation)的角度来看,这份数据提供了几个非常核心的启示。

2015~2025年各类资产回报
房价 为 中国房价
国债 为 中国国债

以下是对数据的深度分析及相应的投资建议:

1. 核心观察:没有永远的赢家

从图中可以直观看到,每年的“冠军资产”几乎都在变化

  • BTC(比特币): 虽然在 2016、2017、2019、2020、2021、2023、2024 都是涨幅第一,但在 2018 年和 2022 年分别暴跌了 –74% 和 –64%
  • 黄金: 在 2025 年表现极其亮眼(+66.83%),但在 2015、2021 和 2022 年却是负收益或微利。
  • 原油: 波动极大,可以在一年内涨 55%(2021),也可以在一年内跌 30%(2015)。

建议: 放弃“押注单一资产”的幻想。任何单一资产都有其周期性,通过**分散投资(Diversification)**来平滑波动是生存之道。

2. 资产类别的角色定位

为了更好地配置,我们可以将图中的资产按特性归类:

A. 进攻型资产(高风险、高回报)

  • 代表: BTC、美股(纳斯达克)、中股(A股)。
  • 建议: 适合作为组合的“增长引擎”。
    • 美股(纳斯达克): 过去 10 年表现极稳,除了 2018 和 2022,基本都在前三名。建议作为底仓配置。
    • BTC: 具有极强的爆发力,但也可能带来毁灭性回撤。建议配置比例控制在 5%-10% 以内。

B. 防御/对冲型资产(避险、抗通胀)

  • 代表: 黄金、国债、外汇(美元)。
  • 建议: 在宏观环境不确定(如 2018 年、2022 年、2025 年)时,这类资产能保命。
    • 黄金: 2024-2025 的表现证明了其在乱局中的避险价值。建议长期持有 10%-15% 作为“压舱石”。

C. 衰退中的传统资产

  • 代表: 房地产(图中显示 2022 年后连续下滑)。
  • 建议: 房产的“金融属性”正在减弱。在资产配置中,应降低对实物房产的依赖,转向流动性更好的金融资产。

3. 基于数据给出的投资策略建议

策略一:构建“全天候”配置方案

如果你的目标是稳健增长,可以参考类似下表的比例进行动态再平衡

资产类别建议权重作用
权益类(美股/A股)40% – 50%捕捉经济增长红利
另类资产(BTC/商品)5% – 15%提高组合进攻性
避险类(黄金/国债)20% – 30%降低系统性风险
现金/货币基金10%保持流动性,等待抄底机会
全天候资产配置组合

策略二:利用资产的相关性进行对冲

  • 观察 2022 年:美股、A股、BTC 全线暴跌,但外汇(美元计价资产)和原油是上涨的。
  • 观察 2025 年(YTD):黄金大涨,而原油和 BTC 表现疲软。
  • 建议: 跨市场配置(如同时持有人民币资产和美元资产)可以有效抵御单一市场(如汇率波动或政策风险)带来的风险。

策略三:定期“止盈”与“再平衡”

  • 如果某一年 BTC 翻倍了,它在你的总资产占比会迅速扩大。
  • 建议: 每年固定一个时间点(如年底),将涨得太多的资产卖掉一部分,买入那些处于低位、基本面尚好的资产(如 2018 年后的 A 股或 2022 年后的美股)。

4. 特别提醒:2025 年的信号

图中 2025 年的数据(截至 12 月)非常有意思:黄金 (+66.83%) 遥遥领先,美股和 A 股紧随其后,而 BTC 和原油为负。

这通常意味着市场处于一个避险情绪与政策预期并存的复杂阶段。

( 后一篇: https://ufqi.com/go/?mod=blog&id=3696&tit=2015~2025年全球大类资产收益率年度排行榜 )

这是研读经济学著作的第五十六篇习作,之前的各篇附列如下,新近的附列在前。

  1. 精妙的金融通识课: 证券投资再论企业内在价值, https://ufqi.com/blog/favorable-investment-lessons/
  2. 股价每日随机游走的独立性研究: 理论与现实的辩证统一 1/3, https://ufqi.com/blog/stock-price-predictable/
  3. 金融证券价值投资中的企业护城河, https://ufqi.com/blog/economic-moat-in-security/
  4. 证券投资中趋势分析K线图与拆股送股除权除息, https://ufqi.com/blog/stock-split-in-candlestick-chart/
  5. 证券投资中不确定性衡量指标: 年化波动率 Volatility, https://ufqi.com/blog/investment-by-volatility/
  6. 证券投资十一大品类: 古寨楼货商会, https://ufqi.com/blog/investment-11-category/
  7. 股神沃伦巴菲特与伯克希尔哈撒韦公司投资持股时间的短与长, https://ufqi.com/blog/buffett-investing-long-or-short/
  8. 再听已是曲中人–共情葛朗台 Grandet 老头: 理财高手的成功典范, https://ufqi.com/blog/feeling-felix-grandet/
  9. 给孩子们讲解货币的时间价值: 从新概念英语中计算数学, https://ufqi.com/blog/money-time-value-in-nce/
  10. 证券投资中一则计算标准差和年化波动率的实例, https://ufqi.com/blog/ufqifina-sharpe-ratio-with-deepseek/
  11. 11~55暂收起略过,请从上一节进入查询查看。
  12. —-
ufqifina
有福金融UfqiFina : https://ufqi.com/finance

有福金融 是一个旨在促进财富稳步增长的工具平台。
UfqiFina is a platform of tools designed to promote wealth growth steadily.

发表在 投资理财, 社会生活 | 标签为 , , , , , | 2条评论

中国国民党Apache Softwares亮月亮科技OpenAI ChatGPT