Around September of 2016 I wrote two articles on using Python for accessing, visualizing, and evaluating trading strategies (see part 1 and part 2). These have been my most popular posts, up until I published my article on learning programming languages (featuring my dad’s story as a programmer), and has been translated into both Russian (which...
#Подготовка таблички для обучения модели, тут рандомные значения
#таргет в колонке 11
trainTable <- cbind(matrix(runif(10000), nrow = 1000, ncol=10),
round(sample(c(-runif(480)*runif(480), runif(520)*runif(520))*0.1), 3))#рандомные значения для таргета, 3 знака после запятой.
#Позитивных значений на 40 больше чем негативных имитируя тренд в исходных ценах.
#Требуется взять для обучения модели только такие строки таблицы когда число позитивных и негативных значений будет равно и отбалансировано по уровням
target <- trainTable[,11]
target <- round(target, 3) #округление до определённой точности, тут 3 знака после запятой
targetFactor <- factor(target)
targetFactorLevels <- as.numeric(levels(targetFactor))
balancedIndexes <- c()
for(i in 1:length(targetFactorLevels)){
idx <- which(target == targetFactorLevels[i])
idxN <- which(target == -targetFactorLevels[i])
minLength <- min(length(idx), length(idxN))
balancedIndexes <- c(balancedIndexes, tail(idx, minLength), tail(idxN, minLength))
}
balancedIndexes <- sort(unique(balancedIndexes))
trainTableBalanced <- trainTable[balancedIndexes, ] #новая табличка на которой можно обучать модель
网络[64 GRU + 32 GRU + 2 Dense]在OHLC->买入/卖出模型(7000巴)的分类问题中,在~24次训练中给出了0.9 - 0.8的准确率。而这一切都在大约30秒内完成。
迹象和结果中有什么?
"OpenHighLowClose -> 买/卖"
更新:买入/卖出信号已经在这个主题中发布。
这些结果在交易中是怎样的?每月/每年的存款增长率是多少?如果你的训练不是为了7000条,而是为了100000条?
我还没有开始交易。我正忙于自动化工作。
同时,神经网络模型的选择也相当敏感。你必须考虑到层中激活函数的类型、误差函数、训练方法和正确的输出预训练,以及其他一堆MO的细微差别。所有的训练可以在[-1;1]范围内将每个信号非常迅速地减少到0。
这就是为什么我不急于分享结果。
我需要一个L2归一化的公式。我找不到它。谁能帮帮我。
https://www.mathworks.com/matlabcentral/answers/65580-what-mean-l2-norm
https://www.tensorflow.org/api_docs/python/tf/nn/l2_normalize
https://rorasa.wordpress.com/2012/05/13/l0-norm-l1-norm-l2-norm-l-infinity-norm/
谢谢你。正是你所需要的。
谁懂R? 第一个通过quantmod 下载报价的例子有一个问题, 我无法画出收到的报价。
https://www.r-bloggers.com/an-introduction-to-stock-market-data-analysis-with-r-part-1/
谁懂R? 我在第一个例子中遇到了麻烦, 通过quantmod 加载引号, 我无法画出结果的引号
我执行了文章中的代码,第一次就一切正常。
版本R 3.4.2,但我认为这没有什么关系。
众所周知,为了训练一个分类模型,你应该平衡类的数量,使 "1 "类的训练例子的数量与 "2 "类的训练例子的数量相一致(并删除不必要的例子)。
我看到回归模型 也有类似的要求,但它更复杂--目标为0.001的例子数量应该等于目标为-0.001的训练例子数量,
,目标为0.002的例子数量应该等于目标为-0.002的例子数量,等等。
这里有一个脚本来做这个平衡------。
小波在什么时候是有用的预测器?
当数据显示出高波动性和差距时,这是大多数高频金融时间序列的典型情况,预测变得更加具有挑战性。利用高频汇率数据,我们表明,对高波动性和缺口具有鲁棒性的小波在高频应用中是有用的预测器,因为高波动性是影响估值估计、区间预测或两者的主要特征。结果表明,将时间序列分解为同质成分,然后用于时间序列预测 模型,是非常重要的。对于与波动率制度相关的不同数据,不同的成分变得比其他成分更有用。我们考虑了广泛的线性和非线性时间序列模型来预测汇率升值的高频序列。我们的结果表明,当数据显示具有高波动性的非标准特征时,非线性模型的表现优于线性替代模型。然而,当估计和预测的数据都处于低波动范围时,简单的线性自回归模型占了上风,尽管需要花费大量精力通过小波去除数据中的噪音。
有一种观点认为,为了训练一个分类模型,应该平衡类的数量,使 "1 "类的训练实例的数量与 "2 "类的训练实例的数量相吻合(并删除不必要的实例)。
我看到对回归模型有类似的要求,但它更复杂--水平为 "0.001 "的例子数量应该等于水平为"-0.001 "的训练例子数量。
目标为0.002的例子的数量应该等于目标为-0.002的例子的数量,等等。
下面是一个使这种平衡的脚本
如果美元在某些月份是增长的(它是有趋势的),那么通过平滑训练例子的数量,我们将显示NS,就像它在所有这些时间内是平的一样。而相应地,它也会把它学得很平。这是否正确?也许,我们还是应该把它教给潮流?