交易中的机器学习:理论、模型、实践和算法交易 - 页 1486 1...147914801481148214831484148514861487148814891490149114921493...3399 新评论 Женя 2019.05.23 16:56 #14851 马克西姆-德米特里耶夫斯基。我完全不明白它是什么,维基百科上说了那么多,没有密码器你是搞不清楚的。多维分布,我不知道如何构建它们,除非我能够破解python代码。 并让它见鬼去吧。这只是一个漂亮的回测图片,与协整相比 这里有一个例子是https://www.quantconnect.com/tutorials/strategy-library/pairs-trading-copula-vs-cointegration Copula是几个随机变量的联合分布密度的函数。从概念上讲,它是足够简单的数学结构,为了理解它,以两个随机过程为例,建立二维图作为一个过程与另一个过程的概率依赖,你会得到一个点的区域,如果过程是独立的,那么它将是均匀的方形区域,但如果是依赖的,那么就有不同的模式,在一些地方点的压实和其他地方的稀疏,这里点的局部密度是copula,它显示依赖,线性或非线性的。 Женя 2019.05.23 16:58 #14852 伊戈尔-马卡努。我认为,你需要了解预测和现实生活之间的区别,交易系统的任务是进行预测,风险和资金管理的任务是确保系统的存续。 关于协同学或同位素,TS是如何得出的,是借助于MO还是借助于optimizer....?- 这是一个预测,但它不能管理实际情况--价格。我并不反对协同学,事实上我甚至支持他们,感谢Max提醒他们,也许他们可以在MO的帮助下适应风险管理和预测。 Грааль 2019.05.25 17:00 #14853 typedef struct{ double dist; double* vector;} distvect; int distvectcomp(distvect *v1, distvect *v2){ if (v1->dist == v2->dist) return 0; double sub = v1->dist - v2->dist; return sub / fabs(sub);} double* parsen(dataset inputs, dataset outputs, int k, double kernel(double), double vector[]){ distvect* dvarr = malloc(inputs.length * sizeof(distvect)); for (int i = 0; i < inputs.length; ++i) { double dist = 0; for (int j = 0; j < inputs.dimentions; ++j) dist += pow(vector[j] - inputs.data[i][j], 2); distvect dv = { dist, outputs.data[i] }; dvarr[i] = dv; } qsort(dvarr, inputs.length, sizeof(distvect), distvectcomp); double *res = calloc(outputs.dimentions, sizeof(double)); double W = 0; for (int i = 0; i < k; ++i) { if (dvarr[i].dist == 0) continue; double w = kernel(dvarr[i].dist); W += w; for (int d = 0; d < outputs.dimentions; ++d) res[d] += dvarr[i].vector[d] * w; } for (int d = 0; d < outputs.dimentions; ++d) res[d] /= W; free(dvarr); return res; } 据说 "准最优 "的MO算法是 Machine learning in trading: Organizing multi-threaded computations in [警告关闭!]任何新手问题,为了不给论坛添乱。专业人士,不要走过。没有你,哪里都不能去。 Maxim Dmitrievsky 2019.05.25 22:28 #14854 你的意思是,它是什么类型的SVM? Грааль 2019.05.25 23:40 #14855 马克西姆-德米特里耶夫斯基。 你的意思是,它是什么样的SVM wisp?不,什么样的svm是这个 "parzen window",内核平滑,和"准最佳 "的意义上,它几乎是完美的(米切尔有它的地方),但只有非常慢,每个迭代 - 排序整个数据集到一个新的点和与内核的卷积 Aleksey Vyazmikin 2019.05.26 01:35 #14856 我不明白为什么没有建立树的算法,在建立树的时候会考虑到整个样本的信号分布的均匀性?我们能否以某种方式实施它,因为它对交易至关重要。 我在估计树叶时考虑到了这一分布,但如果在建树时考虑到这一点,就会有更多有效的树叶/树木。 Yuriy Asaulenko 2019.05.26 02:47 #14857 阿列克谢-维亚兹米 金。 我不能确定,但我不排除你白白地用修剪来折磨这些树。从一般的考虑和个人的经验来看,是这样的。 Aleksei Kuznetsov 2019.05.26 08:36 #14858 阿列克谢-维亚兹米 金。我不明白为什么没有建立树的算法,在建立树的时候会考虑到整个样本的信号分布的均匀性? 也许我们可以以某种方式实现它,因为它对交易至关重要。 我在估计树叶时考虑到了这一分布,但如果在建树时考虑到这一点,就会有更多有效的树叶/树木。 在每次划分之前,数据都要按资料分类(按时间洗牌),划分(按中间值或按四分位数),记住减少误差,对所有资料进行重复。最好的分部成为一个节点。 建议一个更好的算法。 Aleksey Vyazmikin 2019.05.26 08:48 #14859 尤里-阿索连科。 我不能确定,但我不排除你用修剪白白折磨树木。这只是一般的考虑和个人经验。在我年轻的时候,我认为盆景是对自然的嘲弄,但当我成为父母后,我明白了这个想法的深度。 Aleksey Vyazmikin 2019.05.26 08:51 #14860 elibrarius。 在每次划分之前,数据都要按资料分类(按时间洗牌),划分(按中间值或按四分位数),记住减少误差,对所有资料进行重复。最好的分裂成为一个节点。 建议一个更好的算法。这就是为什么我们需要在对预测因子及其数值进行分类的时候给出一个估计,不要取那些数值(范围)非常拥挤的预测因子,而是优先取那些分布在整个样本中的预测因子。 也就是说,我们需要估计样本中分裂的重复频率,而不仅仅是它的绝对可重复性。 1...147914801481148214831484148514861487148814891490149114921493...3399 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
我完全不明白它是什么,维基百科上说了那么多,没有密码器你是搞不清楚的。多维分布,我不知道如何构建它们,除非我能够破解python代码。
并让它见鬼去吧。这只是一个漂亮的回测图片,与协整相比
这里有一个例子是https://www.quantconnect.com/tutorials/strategy-library/pairs-trading-copula-vs-cointegration
Copula是几个随机变量的联合分布密度的函数。从概念上讲,它是足够简单的数学结构,为了理解它,以两个随机过程为例,建立二维图作为一个过程与另一个过程的概率依赖,你会得到一个点的区域,如果过程是独立的,那么它将是均匀的方形区域,但如果是依赖的,那么就有不同的模式,在一些地方点的压实和其他地方的稀疏,这里点的局部密度是copula,它显示依赖,线性或非线性的。
我认为,你需要了解预测和现实生活之间的区别,交易系统的任务是进行预测,风险和资金管理的任务是确保系统的存续。
关于协同学或同位素,TS是如何得出的,是借助于MO还是借助于optimizer....?- 这是一个预测,但它不能管理实际情况--价格。
我并不反对协同学,事实上我甚至支持他们,感谢Max提醒他们,也许他们可以在MO的帮助下适应风险管理和预测。
typedef struct
{
double dist;
double* vector;
} distvect;
int distvectcomp(distvect *v1, distvect *v2)
{
if (v1->dist == v2->dist) return 0;
double sub = v1->dist - v2->dist;
return sub / fabs(sub);
}
double* parsen(dataset inputs, dataset outputs, int k, double kernel(double), double vector[])
{
distvect* dvarr = malloc(inputs.length * sizeof(distvect));
for (int i = 0; i < inputs.length; ++i)
{
double dist = 0;
for (int j = 0; j < inputs.dimentions; ++j) dist += pow(vector[j] - inputs.data[i][j], 2);
distvect dv = { dist, outputs.data[i] };
dvarr[i] = dv;
}
qsort(dvarr, inputs.length, sizeof(distvect), distvectcomp);
double *res = calloc(outputs.dimentions, sizeof(double));
double W = 0;
for (int i = 0; i < k; ++i)
{
if (dvarr[i].dist == 0) continue;
double w = kernel(dvarr[i].dist);
W += w;
for (int d = 0; d < outputs.dimentions; ++d)
res[d] += dvarr[i].vector[d] * w;
}
for (int d = 0; d < outputs.dimentions; ++d) res[d] /= W;
free(dvarr);
return res;
}
你的意思是,它是什么样的SVM wisp?
不,什么样的svm是这个 "parzen window",内核平滑,和"准最佳 "的意义上,它几乎是完美的(米切尔有它的地方),但只有非常慢,每个迭代 - 排序整个数据集到一个新的点和与内核的卷积
我不明白为什么没有建立树的算法,在建立树的时候会考虑到整个样本的信号分布的均匀性?
我们能否以某种方式实施它,因为它对交易至关重要。
我在估计树叶时考虑到了这一分布,但如果在建树时考虑到这一点,就会有更多有效的树叶/树木。我不明白为什么没有建立树的算法,在建立树的时候会考虑到整个样本的信号分布的均匀性?
也许我们可以以某种方式实现它,因为它对交易至关重要。
我在估计树叶时考虑到了这一分布,但如果在建树时考虑到这一点,就会有更多有效的树叶/树木。建议一个更好的算法。
我不能确定,但我不排除你用修剪白白折磨树木。
在我年轻的时候,我认为盆景是对自然的嘲弄,但当我成为父母后,我明白了这个想法的深度。
在每次划分之前,数据都要按资料分类(按时间洗牌),划分(按中间值或按四分位数),记住减少误差,对所有资料进行重复。最好的分裂成为一个节点。
建议一个更好的算法。
这就是为什么我们需要在对预测因子及其数值进行分类的时候给出一个估计,不要取那些数值(范围)非常拥挤的预测因子,而是优先取那些分布在整个样本中的预测因子。
也就是说,我们需要估计样本中分裂的重复频率,而不仅仅是它的绝对可重复性。