whombat Posté 22 Novembre 2007 Posté 22 Novembre 2007 Bonjour à tous. J'ai besoin d'une personne compétente en Php/mysql ou d'un pro de la gamberge parce que je sèche. Je sèche lamentablement. Le problème que je vais vous poser se résoud en 8 opérations mais je suis sûr qu'on peut la résoudre en 3 (plus il y a d'opérations, plus il y a de risques d'erreurs). Le principe est simple : Exemple : Je joue à la Bourse mais je n'y connais rien. Je regarde une action lambda sur les 6 derniers mois et j'ai une idée de son cours moyen ( 50 toujours par ex ). Lorsque cette action lambda, pour des raisons X ou Y, chute à 20, j'achète. PARCE QUE JE ME DIS QUE SI LE COURS MOYEN EST A 50, ELLE NE VA PAS TARDER A REMONTER. Je me trompe 20 fois sur 100. Ca veut donc dire que je gagne 80 fois sur 100. Le tout, c'est de savoir combien on a perdu et combien on a gagné. Mais la question n'est pas là. Cette théorie tout-à-fait empirique et digne d'un néophyte peut-elle être rendue logique avec une ligne de code qui interrogerait une table ? En 8 coups, à la condition de mettre les résultats dans un tableau qui va lui même alimenter un autre tableau, etc... Je sais faire et c'est pénible. J'ai une table qui s'appelle cotations et qui regroupe 2 millions de données, à savoir les cotations des 950 actions françaises sur les 10 ans passés. Si ma théorie de néophyte est exacte, on doit pouvoir, en se basant sur le passé, tester de l'irrecevabilité ou de la véracité du propos. Ca, j'ai su le faire en 8 ou 10 opérations. Mais là où je sèche lamentablement c'est comment écrit-on ça en une trois lignes maxi ? Très cordialement. Whombat
Chibani Posté 1 Décembre 2007 Posté 1 Décembre 2007 Bonjour, 2 question : - As tu pensé aux requêtes imbriquées ? (requêtes dans des requêtes ...) - Est-ce un exercice scolaire ?
Kioob Posté 2 Décembre 2007 Posté 2 Décembre 2007 (modifié) Hello, pourquoi cette contrainte "ridicule" de 3 lignes, en dehors d'un exercice scolaire ? Et le but c'est : 1) de détecter ce cas rapidement : et donc de partir d'une chute, sans vérifier avec le "futur" puisqu'il n'existe pas encore 2) de démontrer cette probabilité : de détecter tous les cas "historiques", afin d'établir une probabilité plus "fiable" ? EDIT : ça pourrait donner, à vue de nez quelque chose comme ça : select h.action, h.date, h.valeur, avg( p.valeur ) valeur_moyenne, max( f.valeur ) as valeur_futur from historique h join historique p on h.action = p.action and h.date > p.date join historique f on h.action = f.action and h.date < f.date where f.date < h.date + INTERVAL 2 YEAR group by h.action, h.date, h.valeur having h.valeur <= valeur_moyenne * 0.4; Je n'ai absolument pas testé, mais en gros ici la requete te sort tous les cas représentant une baisse en dessous de 40% de la moyenne des X années précédentes... et t'indique la plus haute valeur rencontrée durant les 2 années suivantes. A mon avis il faudrait également filtrer la moyenne : sur 10 ans elle n'est pas forcément hyper fiable... si c'est une action qui se gasse la gueule en permanence depuis 10 ans, l'interet est très limité non ? Enfin bref... à toi de voir. Modifié 2 Décembre 2007 par Kioob
whombat Posté 2 Décembre 2007 Auteur Posté 2 Décembre 2007 Bonjour Chibani, J'ai compris le principe mais je ne crois pas que ce soit la bonne question. Je reprécise ma question : 1 - Supposons que je n'y connaisse rien en bourse mais que : 1 - a - Je dispose des 950 actions, côtées jour par jour depuis les 2 dernières années dans une base MySql 1 - b - Je sais qu'il doit il y avoir une valeur moyenne de l'action, pour chaque action (valeur moyenne sur les 6 derniers mois lorsqu'elle est sensiblement différente de la vm sur 2 ans) 1 - c - Une valeur qui chute brutalement pour une raison X ou Y a de fortes chances de remonter, au moins jusqu'à sa valeur moyenne à très court terme. Raisonnement valable au moins pour 75 à 85 % des valeurs. Le cas contraire s'appellerait un crack boursier. 2 - A ce moment là : 2 - a - Il est simple de dire quelque chose comme : "si une action Lambda, qui a une valeur moyenne sur les 6 derniers mois de 50 se retrouve un jour à 10 (ou 30 ou encore 40, à préciser) alors j'achète parce que je sais que dans 75 à 85% des cas je vais pouvoir la revendre à son taux moyen à court ou très court terme. 3 - Le tout est de savoir à combien il faut mettre la barre des 10, 30 ou encore 40 ( vus plus haut ) pour que les gains compensent les pertes et, en plus, fasse un petit boni. J'espère avoir été plus clair dans ma nouvelle formulation. Cordialement
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant