龙听期货论坛's Archiver

龙听 发表于 2024-2-5 15:36

【Function _SystemQuality】

{
Function _SystemQuality

作者:Alex Matulich,2004 年 2 月 1 日 独角兽研究公司版权所有,保留所有权利。

通过该函数,您可以对策略性能的质量进行客观的优化。结果可用于客观比较不同策略的质量,或使用不同输入参数的相同策略的质量。

TradeStation不提供根据用户任意定义的结果优化策略的方法。它只允许您根据净利润或赢/亏比率等预设结果进行优化。遗憾的是,这些都不是衡量系统质量的客观标准。优化运行时,该功能会生成一个 Excel 文件。最后一列包含策略的质量得分。

Van K. Tharp 在《Trade Your Way To Financial Freedom》一书中介绍了客观质量得分的使用方法,其定义如下

质量 = 期望值 * 机会  或(quality = expectancy * opportunities)

其中
预期 = (AW*PW + AL*PL) / |AL| = 每美元风险的预期利润
机会 = NST * (365 / studydays) = 一年中的交易机会

AW = 平均获胜交易次数(不包括最大获胜次数)
PW = 获胜概率(总获胜次数/交易机会)
AL = 平均亏损交易(负数,不包括划痕损失)
PW = 损失概率(非刮奖损失/机会)
NST = 非划痕交易次数(划痕交易损失佣金+回扣或更少)
研究天数( studydays) = 测试历史日历天数

同等质量系统的例子包括

* 做市商每 1 美元风险赚 1 美分,每天 50 次。
* 日间交易者,每 1 美元风险赚 10 美分,每天 5 次。
* 仓位交易者,每 1 美元风险赚 1 美元,每周 2-3 次。

(在现实中,做市商的收入约为每 1 美元风险 5 美分,每天 100 次。做市商的质量得分很高,比其他任何东西都高,这就是为什么他们很少有糟糕的一天)。

要使用此功能,请执行以下操作

0. 如果您的策略包含头寸大小规则,请禁用它们。

在优化过程中,我们并不追求最大的净值增长,而是追求恒定数量订单的风险归一化表现。头寸大小规则会破坏测量结果。在通过这种方法找到最佳质量后,重新启用头寸规模规则会比以前有更好的表现,尤其是当规模是交易风险和净值的函数时。

1. 只需在信号末尾插入对该函数的调用,传递感兴趣的策略输入参数以及要输出的文件名。文件名后缀名应为 .CSV,以便 Excel 读取。文件名中不应包含任何 TS 会解释为 "跳转命令 "的内容,否则会出错。请参阅下面输入声明中的警告。

2. 如果使用的是日内数据,则必须确定会话的最后一个柱形图不是小数柱形图,而是完整柱形图。

例如,如果会话从 08:00 开始,到 15:15 结束,那么 30 分钟的柱状图将无法使用,因为最后一根柱状图不是 30 分钟长。您需要调整时段时间,以确保最后一个柱形图是一个完整的柱形图。

下面是一个使用此功能的简单交易系统示例。

请注意,第二个参数(称为 "dontsave")的传入值为 -999999,因为该策略的质量得分为负,所以如果使用建议的 dontsave 值 0,将不会保存任何数据。

--------------------------------------------------------------
Input: LenL(3), LenS(3), filename("");
Vars: dummy(0);
Value1 = Average(H,LenL);
Value2 = Average(L,LenS);
If Close < Value2[1] And Close[1] >= Value2[2] then buy next bar Value1+1 point stop;
If Close > Value1[1] And Close[1] <= Value1[2] then sell next bar Value2-1 point stop;
dummy = _SystemQuality(filename, -999999,LenL, LenS, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);
--------------------------------------------------------------

2. 如果在不同市场或不同工作区使用同一策略,请确保在策略信号中添加文件名输入参数,这样就不会有多个文件写入同一个文件!

3. 确保删除输出文件。每次重新计算策略时,输出文件都会增加。在运行优化之前,你需要删除它,重新开始。此外,将文件名参数设置为""(空字符串)会禁用输出。

4. 运行优化。尽量设置参数,使生成的结果少于 65,535 个(您必须将其全部导入 Excel)。

5. 优化完成后,将文件加载到 Excel 中,然后按最后一列,即您希望优化的那一列,降序排序。排在最前面的就是最优结果。文件中的列有

p1、p2...(输入参数)、#赢、总利润、#亏、总亏损、#刮痕、刮痕亏损、最大赢交易、最大亏交易、最大亏损、期望值、质量分数

请注意,以这种方式找到的最佳策略是客观的、数学上的最佳策略。但是,它可能不是心理上的最优。例如,得分最高的最佳参数组合可能有 25% 的获胜交易。

你可能会为 4 次中有 3 次失败而烦恼。如果你是这种情况,你可以通过将得分乘以你个人主观衡量的 "心理素质 "来折中。在这种情况下,我们可以将得分乘以获胜交易的百分比,然后重新对电子表格进行排序。如果您对缩水很敏感,可以尝试将得分乘以 AL/DD。你可能会发现,最终得出的最高分代表了你的心理和客观最佳策略之间的良好折衷。

有关交易系统预期值的详细解释,请参阅 Van K. Tharp 所著的《Trade Your Way To Financial Freedom》。该函数计算的是比 Tharp 更保守的版本: 它忽略了作为离群值的最大利润,并使用平均损失而不是最小损失作为风险标准。
}

**** Hidden Message *****

龙听 发表于 2024-2-5 15:41

**** Hidden Message *****

页: [1]