Besoin d'aide ! Je ne peux pas résoudre le problème, je me heurte à des limitations matérielles. - page 13

 
Candid:
Apparemment, l'un des résultats d'un passage avec une date est une nouvelle date.

Si la nouvelle date = la séquence suivante, très bien. Si ça se passe de manière séquentielle. Merde, la taptologie. Je veux dire consécutif.

Vous pouvez lire le pack à l'avance, ils seront peu profonds.

Et même pas le prochain, on s'en fout. Indexer et appeler si nécessaire.

 
Urain:

à Komposter : Andrei, si tu es bloqué sur le problème de dimension, cela signifie que tu as fait une erreur dans la formulation du problème.

Il y a trois options ici :

1 réfléchissez-y vous-même

2 ouvrir le problème dans un forum public

3. Résolvez le problème en privé (pour les personnes qui, selon vous, peuvent le résoudre et en qui vous avez confiance pour garder le secret).

Laissez-moi vous expliquer ce que je veux dire : si vous enregistrez des nouvelles, vous pouvez écrire des strings de l'ensemble des nouvelles, ou vous pouvez faire les phrases typiques (compression), "solde du compte" devient un 1, "équité du compte" devient un 2, etc. Une autre variante du problème typique est le désir de remplir des données déjà triées, pour les grandes dimensions c'est la mort, il est plus facile d'ajouter à la fin et de faire un tri conditionnel par index.

Je pense que ce que je veux dire en disant qu'il y a une erreur dans l'énoncé du problème est clair.

Je réfléchirais à cette tâche
 
Puisque le problème est plutôt académique (comme une question de demande d'emploi pour un programmeur) et que de nombreuses personnes ont montré de l'intérêt pour celui-ci, pourquoi ne pas le formuler plus strictement en termes de format de description des données d'entrée, et chacun pourrait générer 20 Gig de données de test et présenter sa solution pratique ?
 
Je suppose que nous parlons d'un testeur/optimiseur fait maison ?
 
joo:
Je suppose que nous parlons d'un testeur/optimiseur fait maison ?

Non, c'est autre chose.

Je suppose qu'un courtier/prestataire a obtenu la base de données du marché. :)

 

Je vais répéter la tâche en termes simplifiés

- Nous prenons un groupe d'ordres en M minutes (X+Y trades)
- prendre les premières transactions X.
- calculer un critère Kx (par exemple, bénéfice = 100 ou autre).
- vérifiez les offres Y restantes du groupe. Si leur critère calculé Ky présente un écart de D maximum par rapport à Kx, le groupement de commandes nous convient.

Nous ne savons pas quoi faire avec ce groupe de commandes et nous ne le saurons probablement jamais, c'est juste une information d'initié :)

Peut-être s'agit-il d'un concessionnaire qui veut perdre des clients, ou peut-être est-ce l'inverse... une étude psychologique.

 
sergeev:

Je vais répéter le problème en termes simplifiés

- Prendre un groupe de commandes pendant M minutes (X+Y affaires)
- prendre X premières affaires.
- calculer un certain critère Kx (par exemple, profit=100 ou autre).
- vérifiez les offres Y restantes du groupe. Si leur critère calculé Ky présente un écart de pas plus de D par rapport à Kx, alors le groupement de commandes nous convient.

Et nous ne savons pas quoi faire de ce groupe de commandes, et nous ne le saurons probablement jamais, en raison des informations privilégiées :)

Peut-être que c'est une société de courtage qui veut drainer des clients, ou vice versa...

Typique d'un DB. Mais vous devez agréger les données... Vous pouvez écrire dans un tableau séparé les attributs uniques d'une séquence (dates des points c), la valeur de profit moyenne K et la variance D, puis rechercher les 10 meilleures séquences qui sont proches des critères dont vous avez besoin. Avec des index sur ces champs, la recherche ne sera pas si longue (même dans un million d'enregistrements). Ensuite, lorsque vous obtenez les 10 séquences requises, vous pouvez effectuer une recherche dans les données sources, mais il n'y aura plus un million de recherches, car nous avons une limite de date.

C'est toujours un mystère - qu'est-ce qu'il faut chercher ? Si nous parlons de prendre une décision en termes d'ouverture/fermeture d'un ordre, tout traitement d'un tel volume prendra un temps assez long.

La seule façon dont je vois l'efficacité d'un tel traitement est d'agréger les données et d'utiliser une approche probabiliste.

Nous pouvons calculer des coefficients de corrélation entre ce que nous avons et l'ensemble de l'historique des transactions et les "sauvegarder" dans le robot, sans utiliser DB à l'avenir.

Il y a un autre point. Si nous parlons de transactions, il y a peut-être une raison de séparer les transactions pour chaque symbole ? Et écrire des robots du même type conçus pour l'EURUSD, l'USDJPY, etc.

 
Au fait, c'est une idée intéressante... Des transactions rentables peuvent être générées autant que vous le souhaitez, en analysant quotidiennement (High/Low) sur quelques minutes, et en mémorisant l'heure des prix d'ouverture et de fermeture (dans un fichier). Ensuite, écrivez un conseiller expert qui lit le fichier, et lorsque la date et l'heure correspondent, il ouvre/ferme les transactions, et exécutez-le dans le testeur. J'ai fait ça pour un client qui voulait promouvoir les ventes de son robot. Et l'analyse a déjà fait des transactions de la même manière ;)).
 
sergeev:

Je pense que c'est le seul moyen d'identifier une stratégie (ou un ensemble de paramètres pour un robot) qui a été utilisée pour négocier une séquence donnée.

Il me semble que de cette manière, nous pouvons seulement identifier la stratégie qui a été utilisée pour trader (ou un ensemble de paramètres du robot) d'une séquence donnée, et passer à celle-ci dans une certaine situation de marché.

 
marketeer:
Puisque le problème est plutôt académique (il ressemble à une question pour engager un programmeur) et que de nombreuses personnes ont montré de l'intérêt pour celui-ci, pourquoi ne pas le formuler plus strictement en termes de format de description des données d'entrée, et tout le monde pourrait générer 20 Gigs de données de test et présenter sa solution pratique ?
Je suis d'accord. La tâche n'est pas anodine, l'intérêt est croissant.
Raison: