Discussão do artigo "Implementado OLAP na negociação (Parte 1): Noções básicas da análise de dados multidimensionais" - página 2

 

Os métodos mais simples de agregação de dados escritos em vetores:

1. Mover-se ao longo de todos os vetores de propriedade de uma transação perpendicularmente à sua direção. É possível agregar rapidamente todos os dados de uma transação específica. Nesse caso, é usado um loop simples.

2. Se você se mover no primeiro ciclo ao longo da direção dos vetores e no segundo ciclo perpendicular à direção dos vetores, poderá coletar todos os dados de todas as transações.

Conclusão: Com o movimento paralelo-perpendicular, você pode usar qualquer filtro de seleção de transação.


Qualquer valor de qualquer propriedade pode funcionar como um filtro de pesquisa. Um símbolo, por exemplo, é uma propriedade de transação. Um símbolo específico é um valor específico de uma propriedade de transação e pode ser um filtro para agregação de dados. Lote também é uma propriedade de transação. Um valor específico de lote também pode ser um filtro. Filtros complexos são combinações de valores específicos de propriedades específicas. Não pode haver restrições quanto à complexidade e ao tamanho de um filtro em um método de agregação universal. Portanto, a principal tarefa não é organizar a análise de dados (que é sempre paralela-perpendicular), mas transformar um filtro complicado definido pelo usuário em um argumento de uma função de agregação.

 
Реter Konow:

...Portanto, a principal tarefa não é organizar a análise de dados (que é sempre paralela-perpendicular), mas transformar um filtro personalizado astutamente complexo em um argumento de uma função agregada.

Como transformar um filtro complexo (um conjunto de condições de seleção de dados), contendo não apenas valores específicos de propriedades de transação, mas também intervalos desses valores, em um argumento de função?

1. Os vetores de propriedades (que armazenam o histórico dos valores dos parâmetros) devem ser indexados. Cada propriedade de transação deve ter um número de sequência. Por ele, o recurso necessário será consultado e os dados serão recuperados dele.

2. Cada filtro é um valor específico de uma propriedade de transação específica ou um intervalo de valores.

Portanto, para criar um filtro, o usuário precisa especificar os índices das propriedades nos vetores dos quais o loop deve ser feito e especificar seus valores específicos ou intervalos de valores. Essas informações podem ser gravadas em uma matriz regular e passadas para a função de agregação. Ela extrairá os vetores necessários dos recursos e fará um loop em seu conteúdo em um movimento paralelo-perpendicular usando um filtro da matriz passada a ela.

Essa é uma tarefa bastante simples e clara.

 

Para o autor do artigo: como o OLAP é fundamentalmente diferente de um vetor de classes?

De fato, um vetor é um valor de valores ou um complexo de valores que caracteriza algum ponto. Mas cada ponto pode ser expresso por meio de uma classe. Nesse caso, todas as suas propriedades podem ser escritas em um vetor e vice-versa:

class TradeDeal
{
   Symbol = EURUSD;
   TimeHold = 1 h,13 m,55 s;
   Profit = 21.52$;
   MAE = 1.243;
}; => {EURUSD, {1 h,13 m,55 s}, 21.52$, 1.243 };

Ou seja, uma instância de uma classe OOP é essencialmente um vetor em um espaço multidimensional ou um ponto que projeta seus valores em um conjunto de dimensões. Assim, qualquer seleção por parâmetros consistirá em uma passagem usual da coleção genérica de tais classes e na seleção de instâncias adequadas.

 
Vasiliy Sokolov:

Para o autor do artigo: qual é a diferença fundamental entre o OLAP e uma matriz de classes?

De fato, um vetor é um valor de valores ou um complexo de valores que caracteriza algum ponto. Mas cada ponto pode ser expresso por meio de uma classe. Nesse caso, todas as suas propriedades podem ser escritas em um vetor e vice-versa:

Ou seja, uma instância de uma classe OOP é essencialmente um vetor em um espaço multidimensional ou um ponto que projeta seus valores em um conjunto de dimensões. Assim, qualquer seleção por parâmetros consistirá em uma passagem usual da coleção genérica de tais classes e na seleção de instâncias adequadas às condições.

Isso é aproximadamente o que foi feito. Só que, além das classes-registros, precisamos de classes para ler fontes, classes-iteradores em registros, classes de funções de agregação, classes de obtenção de resultados e visualização (que serão abordadas na segunda parte). Tudo isso junto dá a você o OLAP.

 
Maxim Dmitrievsky:

Seria melhor se houvesse mais artigos sobre negociação.

E, assim, acontece que os programadores descartam seus desenvolvimentos de outras áreas. Não se sabe por que, não se sabe para quem.

Acho que isso estava na boca de muitas pessoas, eu apenas dei voz a isso )).

É verdade, também estou pensando nisso há muito tempo.

 
Aleksandr Masterskikh:

Absolutamente certo, também estou pensando nisso há muito tempo.

Basta escrever.
 
Artyom Trishkin:
Basta escrever.

Artem, você não está entendendo, as pessoas precisam do botão "Dough":) E aqui eles escrevem sobre diferentes OLAP... Quando haverá uma descrição do botão...

 
Vasiliy Sokolov:

Artem, você não entende, as pessoas precisam do botão "Dinheiro":) E aqui eles escrevem sobre diferentes OLAP... Quando haverá uma descrição do botão...

O artigo mais difícil sobre esse botão ;)
 
Vasiliy Sokolov:

Artem, você não entende, as pessoas precisam do botão "Dinheiro":) E aqui eles escrevem sobre diferentes OLAP... Quando haverá uma descrição do botão...

Para que, as pessoas só precisam de botões e palavras bonitas.

 
Artyom Trishkin:
Basta escrever.

Acabei de escrever que, recentemente, artigos sobre programação de coisas secundárias (serviços para processamento de resultados de negociação prontos e assim por diante) não relacionados à análise da dinâmica do mercado se tornaram predominantes, em vez de artigos sobre negociação.

É claro que isso também é necessário, mas a tarefa principal é a negociação em si, a busca por algoritmos de entrada no mercado (e a programação desses algoritmos).