交易中的机器学习:理论、模型、实践和算法交易 - 页 219

 
尤里-阿索连科

你说得很对,当用动作工作时,一切都被大大简化了--没有什么需要 "编码"。此外,我们甚至不需要 "披着指标",没有指标我们也能看到运动的方向)。一切都比你想象的还要简单:)我们只需要桅杆上的风向标,甚至抬起手指就能看到风从哪里吹来。而它能持续多久,强度如何,则取决于风向)。我们可以在任何时候进入市场,我们不需要等待任何线,水平等,我们只需要 "风"。

承认市场是一个随机过程,我们不需要对控制市场的 "更高力量 "的行动做出任何假设,我们不需要试图预测什么,我们不需要寻找一些预测者,这(因为我们自己找不到),以及其他不必要的假设。即使 "更高的权力 "存在,他们的行动仍然在很大程度上对我们来说是不可预测的,也就是随机的。现在这些对我们来说都不重要了)。

你不会是受虐狂吧?为什么要对自己进行这样的嘲弄。而字面意义(我们对事物发展方向的猜测)是不可能用算法来计算的。我们通常在后果发生后才了解原因并理解它们。没有人取消一个原则 - 不要涉及多余的假设。而在所有关于控制市场的 "更高力量 "的假设中,以及试图解释他们的行动,这一原则正是被打破的。

你不是来自某个2千美元厨房 的哥萨克人,是吗?或者,也许你在错误的分支?

唯一能给 "市场一个随机过程 "的是完全放弃独立交易的动机,然后要么完全忘记市场,要么做点什么,比如说开一家经纪公司。

在这种情况下,问题不在于是否存在任何市场规律,它们就在市场的本质中,甚至不在于 "常识不可能被算法化",因为它可能是,问题是如何算法化比常识好得多,因为常识在大金融公司的机器人面前没有竞争对手。

 
吉安尼

你不会碰巧是某个2美元厨房 的哥萨克人吧?或者,也许你有错误的分支?

唯一能让人 "认识到市场是一个随机的过程 "的是完全放弃独立交易的动机,然后要么完全忘记市场,要么从事市场,比如说开自己的经纪公司。

在这种情况下,问题不在于市场是否存在任何规律性,它们就在市场的本质中,甚至不是 "常识不可能被算法化 "的问题,因为它是可能的,问题是如何算法化比常识好得多,因为常识在大型金融机构的机器人面前没有竞争对手。

加入

 
我请有经验的交易者发布用自己的数学包解决这个问题的结果

关于交易、自动交易系统和策略测试的论坛

MetaTrader 5策略测试仪!

Andrey Dik, 2016.11.21 16:38

任务。

#property library
#property strict

int  countRuns    = 0;

//+------------------------------------------------------------------+
int GetParamCount () export
{
  textLen = StringLen(Code);
  return (textLen);
}
//+------------------------------------------------------------------+

//+------------------------------------------------------------------+
void GetParamProperties (double &min, double &max, double &step) export
{
  min = 0.0;
  max = 40.0;
  step = 1.0;
}
//+------------------------------------------------------------------+

//+------------------------------------------------------------------+
double FF (double &param []) export
{
  countRuns++;
  
  int sizeArray = ArraySize (param);
  if(sizeArray != textLen)
    return (0.0);
  
  int ffVolue = 0;
  
  for (int i=0; i< textLen; i++)
  {
    if(GetCode(param [i]) == StringSubstr(Code, i, 1))
      ffVolue++;
  }
    
  return (double(ffVolue));
}
//+------------------------------------------------------------------+

//+------------------------------------------------------------------+
int GetCountRunsFF () export
{
  return (countRuns);
}
//+------------------------------------------------------------------+

//+------------------------------------------------------------------+
void PrintCodeToFile (double &param []) export
{
  int sizeArray = ArraySize (param);
  if(sizeArray != textLen)
  {
    Print ("Неверное количество параметров, печать в файл производится не будет!");
    return;
  }
  
  string code = "";
  
  for(int i=0; i<textLen; i++)
  {
    code+=GetCode (param[i]);
  }
  
  int handle = FileOpen ("decodeFF.csv", FILE_READ|FILE_WRITE|FILE_ANSI|FILE_CSV);
  
  if(handle==INVALID_HANDLE)
  {
    Print ("Ошибка записи в файл востановленного текста ФФ. Ошибка: "+ (string)GetLastError());
    return;
  }
  FileWriteString(handle, code);
  FileClose (handle);
}
//+------------------------------------------------------------------+

string GetCode (double param)
{
  int p = (int) MathRound (param);
  if(p <0)
    p = 0;
  if(p > 40)
    p = 40;

  return (Key [p]);
}

string Key [41] = {"а", "б", "в", "г", "д", "е", "ё", "ж", "з", "и", "й", "к", "л", "м", "н", "о", "п", "р", "с", "т", "у", "ф", "х", "ц", "ч", "ш", "щ", "ъ", "ы", "ь", "э", "ю", "я", ";", ":", ".", ",", "-", "?", "!", " "};
int textLen = 0;
string Code = "редко научная статья сочетает в себе эти два типа";

我的算法和MT的结果

 
fxsaber:
我请大师们把用他们的数学包解决这个数学问题的结果公布出来。

rm(list=ls());gc()


library(GenSA)


letters_s <- c(LETTERS, month.name, 1, 2, ' ')


strings <- letters_s[round(runif(49, 1, 41))]


predictor_number <- 49

set.seed(1)

par_v <- as.numeric(runif(predictor_number, min = 1, max = length(letters_s)))

par_low <- as.numeric(rep(1, times = predictor_number))

par_upp <- as.numeric(rep(length(letters_s), times = predictor_number))


fitness_f <- function(par){

letters_s <- letters_s

strings <- strings

return(as.numeric(-sum(strings == letters_s[round(par)])))

# print(-sum(strings == letters_s[round(par)]))

}


start <- Sys.time()


sao <- GenSA(par = par_v, fn = fitness_f, lower = par_low, upper = par_upp

     , control = list(max.time = 2, smooth = FALSE, simple.function = FALSE))


trace_ff <- data.frame(sao$trace)$function.value

plot(trace_ff, type = "l")

percent(- sao$value)

final_vector <- letters_s[round(sao$par)]


Sys.time() - start


print(sum(letters_s[round(sao$par)] == strings))


在不到2秒的时间内就解决了这个问题,问题很简单。

 

关于交易、自动交易系统和策略测试的论坛

MetaTrader 5策略测试仪!

fxsaber, 2016.11.23 08:33

进入优化算法社区并阐述问题是一个好主意。如果你告诉他们你在纠结R,他们就会马上感兴趣。他们将展示他们的结果。
 

fxsaber:

去优化算法社区并制定问题是一个好主意。如果你告诉他们你有撕裂的R,他们会立即产生兴趣而且他们会向你展示他们的成果。

总的来说,R已经撕裂了所有人

https://www.mql5.com/ru/forum/852/page68#comment_3864317

 
Dr.Trader:

总而言之,R让大家都很纠结。

https://www.mql5.com/ru/forum/852/page68#comment_3864317

致本网站所有的自行车发明者!

有这样一个过气的工匠:在他的童年,他用乐高组装了非常有趣的东西,然后他长大了,组装了一辆自行车,有时你甚至可以骑它,虽然没有地方可去。

但他的自尊心扼杀了他,他找到梅赛德斯公司,这家制造地球上所有移动物品的公司,说:来吧,让我们竞争,否则我将把你撕成碎片。他把它撕成碎片,但只有工匠注意到。担心什么呢?它有开发、设计、生产、客户投诉...数十万名雇员。总的来说,这仍然是一个令人头疼的问题--没有时间去重新发明自行车。

PS。

男人们,忙着做R吧。毕竟,你们中的大多数人都有能力掌握一个真正的工具来创建决策模型。这很可能在几年内就能获利。

 
桑桑尼茨-弗门科


男人们,拿起R。毕竟,你们中的大多数人都有能力掌握一个真正的决策建模工具。它很可能在几年内就能盈利。

人工智能、挑战和风险--通过一个工程师的眼睛

我建议你读一读,我认为作者充分地描述了正在发生的事情的本质。
Искусственный интеллект, вызовы и риски – глазами инженера
Искусственный интеллект, вызовы и риски – глазами инженера
  • habrahabr.ru
Добрый день, коллеги. Сегодня хочется трезво посмотреть глазами инженера на так популярные сейчас искусственный интеллект и Deep learning, упорядочить, выстроить факты и выработать выигрышную стратегию – как с этим … взлететь, пролететь и не упасть кому-нибудь на голову? Потому-что, когда дело от лабораторных моделей на python/matplotlib/numpy...
 
桑桑尼茨-弗门科

男人们,拿起R。毕竟,你们中的大多数人都有能力掌握一个真正的决策建模工具。它很可能在几年内实现盈利。

几年的时间?难道它已经不赚钱了吗?
 
J.B:

人工智能、挑战和风险--通过一个工程师的眼睛

我推荐大家阅读,在我看来,作者以一种相关的方式介绍了正在发生的事情的本质。

很多话,但实质上.....,可能没有抓住它,或者也许它不存在,因为对我来说,这个人只是抱怨了一下))