<?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>WildQuant 野量</title>
    <link>https://wildquant.cn/</link>
    <description>Recent content on WildQuant 野量</description>
    <generator>Hugo</generator>
    <language>zh-CN</language>
    <lastBuildDate>Tue, 14 Jul 2026 12:30:00 +0800</lastBuildDate>
    <atom:link href="https://wildquant.cn/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>不懂Python如何做期货量化？我的工具选择：QMT&#43;Python&#43;VS Code（附对比）</title>
      <link>https://wildquant.cn/article/qmt-python-vscode-choice/</link>
      <pubDate>Tue, 14 Jul 2026 12:30:00 +0800</pubDate>
      <guid>https://wildquant.cn/article/qmt-python-vscode-choice/</guid>
      <description>&lt;h2 id=&#34;我的背景与约束条件&#34;&gt;我的背景与约束条件&lt;/h2&gt;
&lt;p&gt;我是wildquant野量，目前居家全职做内盘期货。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&#34;为什么排除文华财经-wt8&#34;&gt;为什么排除文华财经 WT8？&lt;/h2&gt;
&lt;p&gt;WT8（文华财经赢智8）是国内期货量化领域的老牌工具，但我实际使用后发现与我的需求存在结构性冲突：&lt;/p&gt;
&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;对比维度&lt;/th&gt;
					&lt;th&gt;WT8&lt;/th&gt;
					&lt;th&gt;我的需求&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;编程语言&lt;/td&gt;
					&lt;td&gt;麦语言（封闭语法）&lt;/td&gt;
					&lt;td&gt;需要 AI 能直接生成、我看得懂的代码&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;数据导出&lt;/td&gt;
					&lt;td&gt;.data 格式封闭，外部解析困难&lt;/td&gt;
					&lt;td&gt;需要本地 Python 自由处理数据&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;年费成本&lt;/td&gt;
					&lt;td&gt;软件授权费用&lt;/td&gt;
					&lt;td&gt;小资金，能省则省&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;AI 友好度&lt;/td&gt;
					&lt;td&gt;低，麦语言资料少，AI 训练数据不足&lt;/td&gt;
					&lt;td&gt;高，Python 是 AI 最熟练的语言&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;关键事实&lt;/strong&gt;：我曾尝试将 WT8 的 &lt;code&gt;.data&lt;/code&gt; 历史数据文件导出到外部用 Python 分析，结果报 &lt;code&gt;struct.error&lt;/code&gt; 解析失败，折腾 2 小时未解决。这个经历让我意识到：&lt;strong&gt;封闭生态对零代码基础且依赖 AI 的人极其不友好&lt;/strong&gt;——AI 连麦语言的资料都搜不全，生成代码质量自然差。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&#34;为什么排除通达信&#34;&gt;为什么排除通达信？&lt;/h2&gt;
&lt;p&gt;通达信的公式系统偏向&lt;strong&gt;股票选股&lt;/strong&gt;，其期货程序化交易接口（如 DLL 调用、券商对接）对散户门槛极高，且社区生态集中在股票领域。对于专注内盘期货、需要 1 分钟 K 线级自动化的交易者，通达信不是最优解。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;一句话结论&lt;/strong&gt;：通达信是股票选手的工具，期货程序化选它属于&amp;quot;用菜刀砍骨头&amp;quot;。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&#34;为什么最终选择-qmt迷你版-python--vs-code&#34;&gt;为什么最终选择 QMT（迷你版）+ Python + VS Code？&lt;/h2&gt;
&lt;p&gt;经过实际踩坑，我确定了这套工具栈。以下是三维度对比：&lt;/p&gt;
&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;维度&lt;/th&gt;
					&lt;th&gt;QMT+Python+VS Code&lt;/th&gt;
					&lt;th&gt;WT8&lt;/th&gt;
					&lt;th&gt;通达信&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;成本&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;国金迷你 QMT 免费&lt;/td&gt;
					&lt;td&gt;年费授权&lt;/td&gt;
					&lt;td&gt;部分功能免费，期货程序化受限&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;AI 友好度&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;⭐⭐⭐⭐⭐ Python 生态资料最全&lt;/td&gt;
					&lt;td&gt;⭐⭐ 麦语言封闭&lt;/td&gt;
					&lt;td&gt;⭐⭐ 股票生态为主&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;本地运行&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;后台运行，无需打开主界面&lt;/td&gt;
					&lt;td&gt;需保持软件运行&lt;/td&gt;
					&lt;td&gt;需保持软件运行&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;数据获取&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;xtdata&lt;/code&gt; 模块直接拉取&lt;/td&gt;
					&lt;td&gt;封闭 .data 格式&lt;/td&gt;
					&lt;td&gt;有限&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;关键事实 1：国金迷你 QMT 免费，且支持后台运行&lt;/strong&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>QMT迷你版GB2312编码陷阱：我踩过的3个坑与解决方案</title>
      <link>https://wildquant.cn/article/qmt-gb2312-encoding/</link>
      <pubDate>Sun, 12 Jul 2026 18:00:00 +0800</pubDate>
      <guid>https://wildquant.cn/article/qmt-gb2312-encoding/</guid>
      <description>&lt;h2 id=&#34;背景&#34;&gt;背景&lt;/h2&gt;
&lt;p&gt;我是用国金证券的迷你QMT做量化交易的。第一次安装完，兴冲冲写了个叫&amp;quot;沪锡趋势跟踪&amp;quot;的策略，保存后直接报错，提示找不到文件。折腾了2小时才发现，是&lt;strong&gt;编码问题&lt;/strong&gt;。&lt;/p&gt;
&lt;h2 id=&#34;坑1策略文件路径含中文&#34;&gt;坑1：策略文件路径含中文&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;现象&lt;/strong&gt;：策略名或保存路径里有中文，QMT加载时报错&amp;quot;文件不存在&amp;quot;或&amp;quot;非法字符&amp;quot;。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;原因&lt;/strong&gt;：迷你QMT底层某些接口仍使用GB2312编码，而Windows 10中文版默认是GBK（兼容GB2312），但Python 3默认是UTF-8。当路径字符串在不同编码间传递时，中文字符会被&amp;quot;翻译&amp;quot;成乱码。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;解决方案&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;策略文件名和路径&lt;strong&gt;全部用英文&lt;/strong&gt;，比如 &lt;code&gt;sn_trend_strategy.py&lt;/code&gt; 而不是 &lt;code&gt;沪锡趋势跟踪.py&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;如果必须用中文，在文件头加编码声明：&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# -*- coding: gb2312 -*-&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;坑2回测日志中文乱码&#34;&gt;坑2：回测日志中文乱码&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;现象&lt;/strong&gt;：&lt;code&gt;print(&amp;quot;买入信号触发&amp;quot;)&lt;/code&gt; 在QMT控制台输出为乱码或问号。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;原因&lt;/strong&gt;：QMT控制台的输出编码是GB2312，而Python默认按UTF-8编码输出。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;解决方案&lt;/strong&gt;：&lt;/p&gt;
&lt;p&gt;在策略代码开头设置标准输出编码：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; sys
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; io
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sys&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;stdout &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; io&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;TextIOWrapper(sys&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;stdout&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;buffer, encoding&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;gb2312&amp;#39;&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;或者更简单的做法：把中文日志写入文件，文件用UTF-8保存，然后用VS Code打开文件查看。&lt;/p&gt;
&lt;h2 id=&#34;坑3vs-code与qmt编码冲突&#34;&gt;坑3：VS Code与QMT编码冲突&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;现象&lt;/strong&gt;：在VS Code里写好的代码，复制到QMT里，中文注释变成乱码。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;原因&lt;/strong&gt;：VS Code默认UTF-8，QMT编辑器默认GB2312。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;解决方案&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;VS Code右下角点击&amp;quot;UTF-8&amp;quot; → &amp;ldquo;通过编码保存&amp;rdquo; → 选择&amp;quot;GB2312&amp;quot;&lt;/li&gt;
&lt;li&gt;或者在VS Code设置里，针对 &lt;code&gt;.py&lt;/code&gt; 文件单独设置默认编码为GB2312（不推荐，会影响其他项目）&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;我的最终做法&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;代码文件本身用UTF-8保存（VS Code默认）&lt;/li&gt;
&lt;li&gt;所有字符串变量里的中文，在传入QMT接口前做编码转换：&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;text &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;沪锡2609&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;encode(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;utf-8&amp;#39;&lt;/span&gt;)&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;decode(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;gb2312&amp;#39;&lt;/span&gt;, errors&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;ignore&amp;#39;&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;总结&#34;&gt;总结&lt;/h2&gt;
&lt;p&gt;GB2312是迷你QMT的&amp;quot;历史包袱&amp;quot;。作为交易者，没必要和它硬刚，最好的策略是：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;文件路径全英文&lt;/li&gt;
&lt;li&gt;中文输出重定向到文件&lt;/li&gt;
&lt;li&gt;关键字符串做编码转换&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;这三个方法让我再没因为编码问题卡过壳。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;本文基于国金迷你QMT 2024版实测，不同券商版本可能有差异。&lt;/p&gt;
&lt;/blockquote&gt;</description>
    </item>
  </channel>
</rss>
