From bfcbfa356a7da23ae3a5b36ece65339c05399866 Mon Sep 17 00:00:00 2001 From: yann Date: Tue, 1 Apr 2025 17:52:33 +0200 Subject: [PATCH] final delivery, flake OK --- Liste+dactions+-+P7+Python+-+Feuille+1.csv | 21 + README.md | 68 +- bruteforce.py | 45 +- dataset1_Python+P7.csv | 1002 ++++++++++++++++++++ dataset2_Python+P7.csv | 1001 +++++++++++++++++++ optimized.py | 74 +- 6 files changed, 2125 insertions(+), 86 deletions(-) create mode 100644 Liste+dactions+-+P7+Python+-+Feuille+1.csv create mode 100644 dataset1_Python+P7.csv create mode 100644 dataset2_Python+P7.csv diff --git a/Liste+dactions+-+P7+Python+-+Feuille+1.csv b/Liste+dactions+-+P7+Python+-+Feuille+1.csv new file mode 100644 index 0000000..8035016 --- /dev/null +++ b/Liste+dactions+-+P7+Python+-+Feuille+1.csv @@ -0,0 +1,21 @@ +Actions #,Coût par action (en euros),Bénéfice (après 2 ans) +Action-1,20,5% +Action-2,30,10% +Action-3,50,15% +Action-4,70,20% +Action-5,60,17% +Action-6,80,25% +Action-7,22,7% +Action-8,26,11% +Action-9,48,13% +Action-10,34,27% +Action-11,42,17% +Action-12,110,9% +Action-13,38,23% +Action-14,14,1% +Action-15,18,3% +Action-16,8,8% +Action-17,4,12% +Action-18,10,14% +Action-19,24,21% +Action-20,114,18% \ No newline at end of file diff --git a/README.md b/README.md index c0c192d..5ac0e50 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # AlgoInvest&Trade -Choix optimal parmi une liste d'actions +Déterminer un choix optimal d'actions caractérisées par un coût et un rendement, en fonction d'un coût maximum pour un profit maximal ## Introduction @@ -15,66 +15,56 @@ Ces instructions vous permettent de : ``` paquets : python 3.11, python3.11-venv, git -modules : python requests, BeautifulSoup, csv, os +modules : csv ``` ### Installation -Voici les étapes à suivre pour avoir un environnement d'exécution opérationnel : - -créer l'environnement virtuel - +1. créer l'environnement virtuel : ``` python3.11 -m venv env source env/bin/activate ``` -cloner le dépôt, aller dans le bon dossier +2. cloner le dépôt : ``` -git clone https://mcstn.fr/gitea/Yann/Projet2.git -cd Projet2/rendu -``` -installer les modules -``` -pip install -r requirements.txt +git clone https://mcstn.fr/gitea/Yann/Projet7.git ``` + ## Exécution - + +Pour l'algorithme bruteforce sur le dataset0, exécuter la commande : ``` -python3 main.py +python3 bruteforce.py +``` + +Pour l'algorithme de DP, executer la commande : ``` +python3 optimized.py +``` + ## Résultat -Les fichiers sont placés dans un répertoire "resultat" - -Le programme récupère les catégories sur la page d'accueil de l'URL, puis, pour chaque catégorie : -1. affiche la catégorie traitée, le nombre de catégories restantes, de livres présents, traités au total et restants -2. crée un dossier du nom de la catégorie, y enregistre les images des livres nommées en fonction du titre -3. crée un fichier csv au nom de la catégorie, avec : - - product_page_url - - universal_ product_code (upc) - - title - - price_including_tax - - price_excluding_tax - - number_available - - product_description - - category - - review_rating - - image_url - +Optimized traite par défaut les datasets 1 et 2; +Décommenter la ligne du dataset0 dans le main() si besoin ``` -$ time python3.11 main.py -1000 à traiter répartis en 50 catégories. +$ time python optimized.py -[ ... ] +DATASET 1 +Cost: 499.43 € +Profit: 196.84 € +Shares : ['Share-HITN', 'Share-GRUT'] - Traitement terminé. +DATASET 2 +Cost: 497.67 € +Profit: 194.90 € +Shares : ['Share-GEBJ', 'Share-LFXB', 'Share-FWBE', 'Share-PLLK', 'Share-ZKSN', 'Share-ZOFA', 'Share-PATS', 'Share-DWSK', 'Share-ALIY', 'Share-ECAQ', 'Share-FAPS', 'Share-JGTW', 'Share-QLWT', 'Share-OPBR', 'Share-ANFX', 'Share-IJFT', 'Share-JWGF'] -real 20m17,783s -user 4m30,695s -sys 0m3,172s +real 0m0,852s +user 0m0,832s +sys 0m0,018s ``` ## Auteur diff --git a/bruteforce.py b/bruteforce.py index 62d4963..0a0406b 100644 --- a/bruteforce.py +++ b/bruteforce.py @@ -1,5 +1,8 @@ import csv +MAX_COST = 500 +FILE = "Liste+dactions+-+P7+Python+-+Feuille+1.csv" + def listFromFile(csv_file): """ get data from a csv file and : @@ -17,6 +20,7 @@ def listFromFile(csv_file): item[2] = item[1] * float(item[2].strip("%")) / 100 return liste + def powerset(itemList): """ Generate every subset (combination) for a given list @@ -29,6 +33,7 @@ def powerset(itemList): result.extend(newsubsets) return result + def transformData(dataset): """ Transform in a list of dict with computed values as gain, ratio @@ -37,19 +42,21 @@ def transformData(dataset): :return: a sorted list of dict """ tmpset = [{'nom': x[0], 'cout': x[1], - 'rendement': x[2], - 'gain': x[1] * x[2] / 100, - 'ratio1': x[2] / x[1], - 'ratio2': (x[1] * x[2] / 100) / x[1]} - for x in dataset if - x[1] > 0.0 and x[2] > 0.0] + 'rendement': x[2], + 'gain': x[1] * x[2] / 100, + 'ratio1': x[2] / x[1], + 'ratio2': (x[1] * x[2] / 100) / x[1]} + for x in dataset if x[1] > 0.0 and x[2] > 0.0] return sorted(tmpset, key=lambda x: x['gain'], reverse=True) + def selectActions(actionList, maximal_cost): """ - :param actionList: takes a list of combinations and a max - :return: a list of selected combinations where cost is under max + select combination corresponding to max cost + :param actionList: list of combinations + :param maximal_cost: maximal cost + :return: a list of selected items """ best = [] for i in actionList: @@ -66,17 +73,15 @@ def selectActions(actionList, maximal_cost): return sortedBest.pop(0) +def main(): + actions = listFromFile(FILE) + power_actions = powerset(actions) + selected_actions = selectActions(power_actions, MAX_COST) + # tri des actions sur le rendement + print("Cost:", selected_actions[1], "€") + print("Profit: %.2f €" % selected_actions[0]) + print(f"Shares: {[x[0] for x in selected_actions[2]]}") -actions = listFromFile("/home/b/Documents/OCR/projet7/actions.csv") -power_actions = powerset(actions) -selected_actions = selectActions(power_actions, 500) - -print("Nombre d'actions:", len(actions)) -print("Nb de combinaisons:", len(power_actions)) - -#tri des actions sur le rendement -print("Gain: %.2f €" % selected_actions[0]) -print("Cout:", selected_actions[1], "€") - -print("Actions sélectionnées:", selected_actions[2:]) +if __name__ == '__main__': + main() diff --git a/dataset1_Python+P7.csv b/dataset1_Python+P7.csv new file mode 100644 index 0000000..5f15502 --- /dev/null +++ b/dataset1_Python+P7.csv @@ -0,0 +1,1002 @@ +name,price,profit +Share-DUPH,10.01,12.25 +Share-GTAN,26.04,38.06 +Share-USUF,9.25,27.69 +Share-CFOZ,10.64,38.21 +Share-QLRX,15.72,27.47 +Share-XJDT,0.0,37.11 +Share-HKFP,23.97,19.66 +Share-PPPH,24.06,38.2 +Share-HLJY,26.98,5.54 +Share-YKBD,0.0,22.75 +Share-CTCR,16.6,12.4 +Share-LMJG,16.54,29.82 +Share-IGUH,19.13,14.3 +Share-VIRY,31.94,1.84 +Share-PYDS,34.9,30.69 +Share-SOOE,23.09,38.04 +Share-NOIQ,24.08,36.81 +Share-QUXB,36.97,36.08 +Share-SJNY,24.61,17.43 +Share-CQYF,26.26,0.65 +Share-XJSP,42.08,3.03 +Share-YNWM,9.94,28.25 +Share-KTGN,6.41,25.37 +Share-KWZO,41.42,1.19 +Share-BVMS,27.84,4.51 +Share-DAPD,8.47,6.66 +Share-TVRM,31.06,6.63 +Share-EIYB,11.49,37.74 +Share-NNGR,43.15,15.09 +Share-XWRU,28.6,23.37 +Share-YEZB,17.15,30.28 +Share-AQHE,7.8,5.36 +Share-IJAW,0.0,30.69 +Share-SEBO,35.85,14.79 +Share-MWTE,0.0,18.37 +Share-ZWIY,18.36,11.91 +Share-BAOJ,38.2,28.36 +Share-GKWN,16.01,33.52 +Share-UZPA,27.49,4.4 +Share-HODN,34.8,7.29 +Share-HRDA,27.45,33.65 +Share-ZRWP,25.99,6.72 +Share-JWSN,23.24,7.28 +Share-RLHB,38.23,4.46 +Share-FFBY,22.05,11.41 +Share-FTYF,9.56,31.54 +Share-KNZG,14.86,13.8 +Share-QPSA,28.95,29.9 +Share-JMGY,28.8,3.11 +Share-KWDY,26.04,37.89 +Share-OWCV,30.21,0.74 +Share-HUIT,36.37,17.87 +Share-MSKF,19.76,3.64 +Share-GFJZ,34.57,26.08 +Share-IKZL,41.63,18.98 +Share-BLKR,45.91,15.19 +Share-INSV,32.9,34.47 +Share-VBXG,30.23,35.48 +Share-LTLT,28.67,16.65 +Share-JTQE,33.07,30.91 +Share-OHTK,7.76,15.36 +Share-XBOW,30.98,8.13 +Share-PKFS,19.16,25.16 +Share-BQZO,25.92,0.02 +Share-MCUJ,12.51,3.65 +Share-TTXF,20.12,37.0 +Share-CZZS,27.26,31.2 +Share-BGRQ,25.39,11.63 +Share-SVAM,18.37,18.91 +Share-IYAT,14.95,19.52 +Share-NNSM,12.03,32.13 +Share-VLWV,3.7,3.85 +Share-XSSB,22.12,38.25 +Share-CIIX,1.41,18.22 +Share-SJAK,33.2,12.93 +Share-CEBR,45.89,0.04 +Share-CLIJ,33.15,23.23 +Share-XRVK,47.49,2.85 +Share-OOUK,36.53,12.05 +Share-ZBMZ,31.3,34.14 +Share-KVDA,25.11,13.91 +Share-PARA,14.33,1.54 +Share-TNBA,23.58,35.62 +Share-CSQA,2.71,8.5 +Share-HKEJ,15.19,16.62 +Share-AOLT,48.53,36.44 +Share-YRVP,21.91,10.98 +Share-IPGW,17.24,15.29 +Share-IYEW,38.32,36.79 +Share-WZHT,36.02,24.81 +Share-FAHD,47.39,4.52 +Share-EFHD,25.31,19.81 +Share-IQHP,41.0,32.06 +Share-XOQL,18.72,15.03 +Share-CZAX,38.05,30.64 +Share-UVZJ,0.0,26.26 +Share-RUFN,10.88,37.03 +Share-ZIGX,41.52,13.39 +Share-KMOP,25.25,33.24 +Share-VTYP,13.68,31.22 +Share-WENI,27.11,34.87 +Share-YEYF,49.1,24.88 +Share-EKHU,47.13,35.03 +Share-JPLU,10.72,29.16 +Share-CVKQ,27.89,6.06 +Share-TFNF,38.63,33.34 +Share-LRYZ,32.77,38.16 +Share-SUDI,38.72,25.01 +Share-GFBR,22.19,21.05 +Share-ELHS,36.47,1.05 +Share-BOET,0.0,37.01 +Share-PFOA,8.54,19.08 +Share-HRKX,14.09,33.42 +Share-DEMQ,19.25,35.29 +Share-MONJ,10.67,7.47 +Share-XQOA,18.65,2.68 +Share-RZCS,36.45,12.78 +Share-DAPQ,21.36,19.57 +Share-OUGA,8.99,7.35 +Share-BCVC,20.69,33.51 +Share-BHXC,41.14,19.5 +Share-NTBS,24.42,10.33 +Share-WVBR,25.11,2.9 +Share-GCEX,0.0,34.72 +Share-RBJP,12.54,11.82 +Share-QNMW,10.16,11.13 +Share-FLLX,2.35,4.74 +Share-MHMX,19.48,26.47 +Share-DAWU,7.4,5.24 +Share-ETOR,12.33,7.35 +Share-GVVO,2.22,28.52 +Share-SPAR,42.66,10.72 +Share-DWQL,0.0,19.69 +Share-IFCP,29.23,39.88 +Share-WYAL,42.12,15.21 +Share-OFZD,31.48,13.78 +Share-KLCJ,13.75,18.04 +Share-JNUW,30.61,17.58 +Share-SHFZ,32.79,27.62 +Share-CYLT,33.73,24.2 +Share-JHLP,42.97,37.12 +Share-DLGZ,34.71,33.88 +Share-COUC,20.99,5.93 +Share-ATAE,16.58,24.47 +Share-FTJN,27.52,16.79 +Share-WTPW,19.89,25.23 +Share-HITN,0.67,33.49 +Share-ADLV,18.9,4.72 +Share-CWIL,46.2,1.19 +Share-VBQT,25.73,35.61 +Share-XQQA,26.78,9.35 +Share-QSOQ,30.15,0.71 +Share-WIWE,10.65,8.88 +Share-FRBU,30.13,9.56 +Share-IYKD,1.08,13.02 +Share-EPCT,3.91,15.96 +Share-JIZL,48.75,4.23 +Share-ACQS,32.62,1.61 +Share-YUTW,16.28,35.71 +Share-YHEL,2.51,10.08 +Share-HPSH,19.77,33.17 +Share-NVXL,25.66,19.29 +Share-ZFQR,21.74,38.74 +Share-GYNX,30.96,38.27 +Share-XXLC,45.12,14.14 +Share-TLJJ,28.65,13.75 +Share-RUPP,40.98,5.4 +Share-SXZH,39.35,8.81 +Share-DSHU,23.12,29.08 +Share-OLUI,30.68,27.29 +Share-FXZS,0.0,30.03 +Share-SFMP,9.48,17.94 +Share-VVDF,5.12,25.56 +Share-YVUQ,39.98,18.8 +Share-FIWE,42.56,9.34 +Share-NKEK,19.01,25.8 +Share-QEDS,3.78,13.74 +Share-SWES,35.4,28.86 +Share-XMLZ,29.5,24.46 +Share-DRXI,37.42,38.05 +Share-BKOT,22.9,29.4 +Share-QDFN,4.26,20.6 +Share-NLNW,8.95,8.85 +Share-MKTB,33.42,17.53 +Share-FEMI,15.24,36.37 +Share-ZQDO,34.64,10.06 +Share-CVOW,0.0,6.42 +Share-GBMB,41.91,11.82 +Share-ZUWA,17.84,32.2 +Share-VUOS,20.14,33.88 +Share-RTTA,27.78,3.26 +Share-SQQK,22.58,32.51 +Share-GROK,28.16,8.05 +Share-RWWJ,46.3,0.0 +Share-YPRZ,41.82,18.21 +Share-EDPH,22.43,9.4 +Share-LJDU,39.86,37.22 +Share-JKRC,18.58,16.25 +Share-QCRM,26.91,16.97 +Share-PKXQ,41.39,9.75 +Share-DBMG,37.07,38.12 +Share-DFKO,29.28,24.73 +Share-LOJD,22.47,19.19 +Share-SFMQ,39.61,5.27 +Share-TMYW,22.41,15.97 +Share-WPYY,42.88,13.95 +Share-EDBI,22.92,32.72 +Share-WJZQ,16.28,1.25 +Share-MGCH,25.72,22.28 +Share-GFKM,24.37,36.16 +Share-JLNT,19.74,9.74 +Share-ZIZN,40.69,17.32 +Share-FVVN,33.3,4.3 +Share-TTVT,35.43,25.51 +Share-EMOV,8.89,39.52 +Share-ZWPI,21.5,39.02 +Share-KKAD,14.66,32.19 +Share-GMPX,30.86,7.59 +Share-JHKR,18.3,25.25 +Share-QIGP,35.59,22.63 +Share-RUMG,34.34,7.42 +Share-EPWT,9.54,8.07 +Share-FJIK,28.32,34.49 +Share-ETNQ,48.78,11.38 +Share-OZCM,36.69,30.53 +Share-KZLV,18.43,4.01 +Share-ZLGB,39.41,36.67 +Share-ZSPZ,22.3,18.9 +Share-RQNB,20.12,26.73 +Share-UNOG,43.84,18.65 +Share-GZHU,33.02,24.56 +Share-QPFG,9.52,32.39 +Share-IVRI,27.35,38.76 +Share-GHNY,28.45,17.58 +Share-XABA,0.0,27.91 +Share-MEPT,37.14,30.4 +Share-OTBX,16.84,5.86 +Share-ODFR,30.14,11.81 +Share-QPRB,32.06,5.19 +Share-QAIJ,31.42,33.11 +Share-OKTW,24.15,24.26 +Share-KYHO,37.05,29.07 +Share-ONTS,14.17,15.48 +Share-JWXV,47.28,7.33 +Share-TJBP,28.5,28.54 +Share-YHLS,6.11,5.79 +Share-ZNIY,20.38,24.97 +Share-XPZF,35.01,33.65 +Share-ODXT,12.75,18.69 +Share-VQHA,6.93,14.16 +Share-IDWW,26.58,22.0 +Share-TVOJ,9.39,23.34 +Share-NMYP,0.0,11.43 +Share-VNQN,1.17,18.51 +Share-FVTC,25.28,23.61 +Share-RSQE,45.64,26.22 +Share-TCMQ,15.36,11.69 +Share-UPTV,7.59,20.07 +Share-LSFE,17.51,31.47 +Share-TTLC,30.69,38.68 +Share-WMOU,29.0,34.42 +Share-QJZG,34.68,19.21 +Share-PSZU,25.8,13.44 +Share-GCAZ,48.58,3.23 +Share-KZBL,28.99,39.14 +Share-ZTDP,33.38,6.81 +Share-XBIG,34.11,0.37 +Share-MXMO,23.99,15.87 +Share-OMOF,30.8,18.36 +Share-NWSG,38.03,15.32 +Share-LGSU,46.79,18.58 +Share-GLFC,16.63,4.45 +Share-PAXZ,7.22,0.82 +Share-QSPX,0.6,35.15 +Share-ZGFE,20.76,22.46 +Share-WCNO,17.13,32.27 +Share-BHYK,25.29,17.91 +Share-VGFO,17.83,31.39 +Share-FUUQ,32.33,3.69 +Share-VEEM,9.47,15.79 +Share-YVIJ,3.94,29.38 +Share-ZEPQ,29.27,30.6 +Share-EINI,20.13,13.01 +Share-LRBZ,32.9,39.95 +Share-NYHH,12.51,6.57 +Share-CBNP,37.33,11.56 +Share-JXTU,0.0,14.86 +Share-ZOIW,15.06,25.6 +Share-GSPE,48.99,11.65 +Share-IZCN,31.52,12.4 +Share-XLQI,31.33,32.56 +Share-BDMW,48.51,19.39 +Share-HCCK,20.58,3.21 +Share-DWFW,15.17,16.53 +Share-TDXX,30.93,14.84 +Share-ZXSD,44.62,21.01 +Share-MKZB,6.97,33.89 +Share-XRZR,14.78,6.37 +Share-XPEO,31.13,27.06 +Share-QDBT,23.68,17.58 +Share-CPNV,28.84,6.96 +Share-QFPK,11.96,9.51 +Share-CXDL,27.89,14.17 +Share-MMFR,37.78,38.54 +Share-MYPQ,14.1,6.55 +Share-EZLR,17.59,19.71 +Share-QJZD,47.58,22.72 +Share-YDJK,25.79,12.25 +Share-ZSRN,31.7,4.62 +Share-IMGN,30.72,33.04 +Share-HPQO,5.03,34.97 +Share-KYUG,15.06,1.42 +Share-YZOF,9.65,12.6 +Share-KPMF,39.44,22.13 +Share-RBTN,0.0,33.06 +Share-CBTR,36.81,5.71 +Share-JGEU,27.08,25.8 +Share-SIRR,34.39,26.68 +Share-TECI,30.9,12.34 +Share-NFGO,38.33,36.59 +Share-XJMO,9.39,39.98 +Share-IFPU,35.66,20.67 +Share-SNKS,16.75,39.04 +Share-GKRC,19.28,27.34 +Share-XZNX,34.59,3.14 +Share-XRNJ,26.54,21.03 +Share-OGGC,25.25,17.07 +Share-TNHW,45.8,6.23 +Share-YMIE,18.31,12.75 +Share-LKBB,8.28,13.4 +Share-IQED,33.12,34.59 +Share-LFLL,15.17,9.49 +Share-OJRZ,31.68,1.1 +Share-IKCF,3.37,5.17 +Share-RNBA,19.47,6.23 +Share-YZFJ,34.75,11.89 +Share-RGDB,23.95,24.47 +Share-UEIV,33.41,30.66 +Share-VQPV,20.9,21.01 +Share-OHHU,40.43,38.01 +Share-AXIX,36.82,20.38 +Share-KOUD,35.09,35.93 +Share-NALT,48.96,11.63 +Share-NHKZ,30.69,0.98 +Share-NKUT,34.4,24.93 +Share-GPGM,47.4,19.93 +Share-NFNZ,25.77,18.88 +Share-NVDR,1.99,16.54 +Share-NQIL,13.37,24.4 +Share-VTWL,5.98,21.69 +Share-JEQJ,25.73,23.34 +Share-IXSO,19.7,28.29 +Share-HGVJ,26.2,24.94 +Share-AIQL,25.69,33.68 +Share-KYXI,29.07,31.36 +Share-SIVL,26.31,23.06 +Share-GJMI,25.09,30.39 +Share-OLCV,38.97,13.15 +Share-SLZZ,14.87,29.76 +Share-RDQM,30.61,1.66 +Share-UOZD,21.17,30.86 +Share-MOXN,31.29,1.79 +Share-XKAM,47.01,38.1 +Share-GGLB,31.58,35.12 +Share-GEYL,24.68,18.23 +Share-CIYW,20.93,16.45 +Share-EIZH,27.73,14.51 +Share-MPUS,30.96,27.33 +Share-YUVN,15.09,13.82 +Share-PEAZ,15.72,32.53 +Share-MWDM,11.97,2.81 +Share-LSZT,34.9,39.19 +Share-CBNY,1.22,39.31 +Share-HMVR,15.62,16.57 +Share-LGHI,21.64,24.62 +Share-VCWF,24.71,28.83 +Share-CGUS,8.27,37.38 +Share-REMR,26.84,32.94 +Share-MXBC,15.26,13.02 +Share-ZDHV,16.64,10.3 +Share-AVUV,11.65,11.66 +Share-WVTR,35.99,29.65 +Share-MLVQ,36.23,8.13 +Share-NCFR,25.4,3.06 +Share-LFGX,25.04,9.84 +Share-HQDA,25.28,7.95 +Share-UMGT,5.97,1.28 +Share-WITL,38.65,6.37 +Share-XOBN,34.06,2.33 +Share-AHYU,20.99,5.34 +Share-YLHV,43.01,35.12 +Share-BTKZ,17.55,36.72 +Share-YEYV,32.67,2.59 +Share-BGVK,18.27,9.33 +Share-OFWH,30.0,11.97 +Share-XKFR,42.85,13.22 +Share-SNUW,44.48,8.52 +Share-QWHX,45.37,31.39 +Share-TZIJ,25.62,1.75 +Share-ILTN,23.8,2.45 +Share-TIRJ,29.33,12.78 +Share-URMZ,34.99,38.89 +Share-FZFY,33.03,3.98 +Share-UTIJ,20.36,24.11 +Share-PFEQ,26.95,12.54 +Share-LNBX,32.12,24.04 +Share-BORU,34.6,23.87 +Share-QOYO,12.93,36.43 +Share-BAPF,37.14,10.33 +Share-RJIB,21.22,34.07 +Share-ICKP,26.65,19.6 +Share-DPMV,40.44,9.19 +Share-EWGU,0.0,34.27 +Share-MIOT,20.91,29.35 +Share-GSDZ,44.29,11.37 +Share-GOEX,38.41,20.84 +Share-IHOT,10.47,24.64 +Share-GIAJ,10.75,39.9 +Share-OTFE,29.23,15.95 +Share-HMCY,39.53,34.81 +Share-UMCH,21.51,23.28 +Share-QQBR,29.9,16.44 +Share-WJZJ,38.96,26.3 +Share-CESY,0.0,26.25 +Share-OGLE,41.9,10.45 +Share-MNMP,36.64,10.47 +Share-KGQI,0.23,18.91 +Share-JGPU,26.21,24.23 +Share-LBSY,31.98,23.16 +Share-EMCQ,6.37,20.46 +Share-GHFD,13.56,22.81 +Share-ESFE,13.5,4.44 +Share-EJLA,25.25,22.63 +Share-JJNV,38.71,14.41 +Share-DIGK,32.32,11.87 +Share-NYKV,15.38,30.95 +Share-DDWA,40.89,11.73 +Share-SLGB,9.77,21.69 +Share-HYNU,47.39,8.61 +Share-KZFS,9.73,10.84 +Share-THCY,39.05,6.32 +Share-SIZB,6.13,23.12 +Share-TUQB,19.32,15.61 +Share-NTQC,30.85,17.09 +Share-HYMY,26.4,34.84 +Share-VXCW,0.0,5.87 +Share-JYBM,24.65,38.04 +Share-VGRH,34.98,9.17 +Share-PSVO,0.0,15.5 +Share-NBSA,33.83,34.41 +Share-OFJC,24.83,3.66 +Share-JWVH,1.71,10.41 +Share-PEQK,34.63,24.37 +Share-WAQC,21.71,22.7 +Share-ZEIM,31.25,16.18 +Share-RPXU,13.75,26.64 +Share-DTZY,35.96,19.34 +Share-LHKD,34.45,16.51 +Share-YRSC,47.0,38.3 +Share-MZLJ,23.2,17.43 +Share-YECK,32.66,29.22 +Share-SZEE,36.55,23.72 +Share-MTJQ,41.49,25.62 +Share-PBXL,5.46,36.76 +Share-BMTW,27.23,16.76 +Share-YPHD,5.72,9.91 +Share-TXHQ,8.97,36.74 +Share-KAUS,42.96,29.36 +Share-BFRJ,43.43,17.65 +Share-NDNV,8.19,34.97 +Share-GNLH,11.86,23.48 +Share-WMQI,39.87,23.15 +Share-ARZU,0.0,9.01 +Share-MDAT,41.4,35.95 +Share-QBZY,40.0,33.6 +Share-YHNK,35.09,11.16 +Share-DGFR,37.13,32.1 +Share-FVCW,14.48,4.94 +Share-JREW,9.93,15.05 +Share-NOLN,22.65,1.2 +Share-DSKL,38.68,20.93 +Share-LHLG,42.98,28.34 +Share-HJJZ,17.54,6.56 +Share-URDO,32.8,12.91 +Share-URKJ,28.32,36.08 +Share-JSDR,21.66,27.61 +Share-KMDP,32.23,22.12 +Share-TGMY,44.93,2.02 +Share-RCCP,2.09,35.32 +Share-GQZA,5.86,12.81 +Share-EQFF,18.75,6.05 +Share-QQTU,33.19,39.6 +Share-LWHP,32.0,29.24 +Share-SRHN,26.36,34.08 +Share-SORI,7.97,20.13 +Share-TQVQ,4.41,11.48 +Share-UIWH,30.41,24.69 +Share-PJBF,17.09,19.7 +Share-VOPM,46.57,10.32 +Share-MSWM,14.48,2.91 +Share-TPPD,22.77,15.55 +Share-GDNC,45.82,28.36 +Share-OELG,33.83,3.85 +Share-HBXW,2.73,20.92 +Share-UYOE,38.08,0.62 +Share-VMPZ,24.08,10.5 +Share-GMUB,36.8,17.7 +Share-LCVT,6.06,1.05 +Share-KRMG,15.22,31.68 +Share-FYUX,3.68,19.51 +Share-DSJF,24.72,2.94 +Share-MCJZ,47.05,6.57 +Share-STKT,0.28,7.79 +Share-FSTB,27.28,12.6 +Share-KQHE,21.63,1.37 +Share-MXKO,0.0,23.17 +Share-JEHF,21.92,1.56 +Share-SKKC,24.87,39.49 +Share-RPNK,46.37,3.24 +Share-LZLU,12.12,35.54 +Share-ICYR,27.21,5.0 +Share-VOEF,32.38,5.72 +Share-LSBJ,39.9,19.83 +Share-HQIF,34.88,15.13 +Share-TWXB,26.92,1.34 +Share-HQHB,27.01,23.97 +Share-PYSY,26.63,30.28 +Share-JAGI,36.36,35.92 +Share-EYGW,46.25,17.35 +Share-OFCJ,10.69,34.05 +Share-WGNW,38.88,24.0 +Share-JNGS,-2.73,22.22 +Share-IETC,0.0,33.17 +Share-BPBC,26.55,15.5 +Share-HIGA,5.34,31.01 +Share-JEAI,31.06,29.46 +Share-FNVN,9.03,14.25 +Share-AQZD,39.1,32.4 +Share-WBLU,39.29,3.32 +Share-HJFD,8.61,16.15 +Share-QSSK,29.01,20.95 +Share-WQLH,6.75,1.55 +Share-ALZI,9.61,28.14 +Share-CNVT,23.78,33.52 +Share-NJKY,30.73,37.82 +Share-QIID,29.25,11.64 +Share-CDSP,0.0,16.03 +Share-BOZY,25.86,13.2 +Share-OTLF,34.81,35.31 +Share-TEET,43.2,37.93 +Share-GWMA,0.0,18.22 +Share-HHFE,25.9,23.95 +Share-HERB,48.28,12.13 +Share-KKQW,21.59,20.33 +Share-FKJR,0.8,14.73 +Share-LOKP,41.04,39.17 +Share-TZKX,44.94,26.7 +Share-DYJJ,21.05,21.2 +Share-DRRI,27.64,20.85 +Share-CFUF,34.05,7.67 +Share-MUFT,23.38,19.1 +Share-ZNKU,6.96,38.77 +Share-TOHR,25.74,9.53 +Share-ZSDE,15.11,39.88 +Share-AAZC,36.78,18.71 +Share-DSME,22.62,16.53 +Share-PWHJ,39.65,8.51 +Share-LUSV,19.87,12.06 +Share-YXVL,26.62,22.79 +Share-XLQD,39.13,14.95 +Share-WIBX,20.58,25.98 +Share-DXLL,0.0,28.11 +Share-YYBB,39.15,0.35 +Share-COVF,30.7,15.92 +Share-GRSA,13.0,34.88 +Share-CKIZ,0.0,33.06 +Share-BXEV,6.7,33.58 +Share-LSTK,14.89,32.98 +Share-GLOV,39.92,9.35 +Share-LYIZ,21.79,23.22 +Share-HQWX,6.35,6.39 +Share-KXYC,17.18,15.71 +Share-ANXT,13.32,35.6 +Share-OAOX,36.3,31.47 +Share-LGWG,31.41,39.5 +Share-VPPA,4.09,2.15 +Share-USDU,0.0,33.49 +Share-FJZC,20.64,30.34 +Share-HCNK,13.03,23.56 +Share-WFZZ,29.81,35.78 +Share-DAQE,20.97,10.87 +Share-FYKQ,41.06,38.75 +Share-IPUP,26.11,30.68 +Share-XGXY,28.39,36.2 +Share-LVQC,41.57,16.98 +Share-PXVO,15.37,20.19 +Share-OVCD,31.92,10.1 +Share-WPLI,34.64,39.91 +Share-LJEO,40.87,25.07 +Share-PISF,20.49,7.85 +Share-ZQNA,28.59,12.42 +Share-EMNG,25.21,4.2 +Share-BJIF,10.56,31.36 +Share-QGUP,4.45,20.44 +Share-XUCG,12.25,22.1 +Share-RPNX,25.11,4.58 +Share-KCEB,38.89,6.34 +Share-KFOQ,26.19,17.4 +Share-FVNN,33.93,31.26 +Share-XZOD,12.07,2.81 +Share-GGKK,22.15,11.56 +Share-JPQM,10.82,14.81 +Share-WYJO,33.73,31.99 +Share-IAFR,30.57,4.82 +Share-MCBN,29.5,16.75 +Share-UFQB,23.77,25.16 +Share-ZHNO,24.32,21.42 +Share-MGXU,13.5,38.27 +Share-TUFN,10.37,22.89 +Share-NVVV,37.44,7.52 +Share-EPTB,21.32,23.65 +Share-WSEH,0.0,12.43 +Share-ARYE,17.62,14.41 +Share-CGJM,17.21,39.3 +Share-ZJWM,26.58,32.21 +Share-XAZS,35.02,29.32 +Share-CPWU,37.92,38.28 +Share-UIMY,16.52,1.83 +Share-UKXZ,35.19,7.27 +Share-YMFX,24.46,32.96 +Share-MLNK,45.74,27.66 +Share-HJKI,9.7,0.3 +Share-PEVC,17.51,1.87 +Share-HDZP,3.48,2.41 +Share-GUTR,16.5,15.85 +Share-HPYJ,24.88,19.82 +Share-EXKV,0.0,27.83 +Share-TVCG,15.27,4.93 +Share-DRZA,8.24,17.26 +Share-CYLI,18.82,20.97 +Share-LZSG,36.54,18.45 +Share-FTYA,19.58,29.72 +Share-QLMK,17.38,39.49 +Share-OLCM,31.19,26.9 +Share-WPCD,42.55,34.32 +Share-OSGU,42.76,9.62 +Share-BQLT,24.12,13.38 +Share-RKNE,3.69,10.06 +Share-VRIE,36.95,32.22 +Share-HBGI,40.08,35.1 +Share-VNFB,22.88,20.99 +Share-QSQG,8.68,37.32 +Share-CRZH,30.01,34.82 +Share-CXGC,21.73,3.43 +Share-ECAB,23.09,32.33 +Share-PUDT,10.9,3.97 +Share-KMEM,24.35,33.9 +Share-TCIP,22.2,29.46 +Share-CVPG,31.65,17.69 +Share-XDUU,30.33,3.26 +Share-VYWQ,33.85,30.44 +Share-GLAO,26.86,26.56 +Share-MAJJ,21.12,6.47 +Share-NVBN,21.63,30.95 +Share-XXBE,34.62,1.17 +Share-QTKW,29.15,35.04 +Share-YAFK,29.93,21.64 +Share-MVRZ,31.33,7.6 +Share-MLGM,0.01,18.86 +Share-GUQG,36.18,24.94 +Share-QQGZ,3.82,32.14 +Share-VPMV,34.12,9.71 +Share-PNTD,15.22,10.15 +Share-MYPY,24.11,21.97 +Share-QMVF,4.12,8.41 +Share-UFXW,30.73,12.44 +Share-MOVT,19.01,0.59 +Share-RGMB,30.2,31.47 +Share-YGKX,28.18,33.33 +Share-QOGS,10.56,12.33 +Share-EMDG,17.45,6.63 +Share-SKUO,0.0,23.55 +Share-NCIK,0.0,30.27 +Share-OTAO,28.29,20.29 +Share-CIWC,13.62,25.42 +Share-DQRQ,36.38,10.85 +Share-XPMV,28.12,37.48 +Share-OBKH,12.62,27.8 +Share-MLDY,22.61,21.33 +Share-JCPU,24.77,10.79 +Share-OPSM,0.0,26.28 +Share-JHTJ,44.04,25.57 +Share-UBRS,0.0,31.14 +Share-XHQJ,11.4,21.7 +Share-QDWQ,17.4,18.99 +Share-OXSN,15.68,4.53 +Share-VNXO,24.73,25.05 +Share-EFWR,29.32,1.82 +Share-GZUU,13.05,27.4 +Share-LPGN,17.14,15.14 +Share-VHYI,48.31,30.0 +Share-FXBP,11.87,28.86 +Share-PLPK,18.66,17.63 +Share-OEDD,27.56,21.18 +Share-BMIQ,25.2,34.16 +Share-QINE,26.5,37.18 +Share-ITTV,29.61,24.14 +Share-QHTF,20.53,15.63 +Share-VBED,5.32,15.37 +Share-LTEB,37.59,0.25 +Share-OBVY,29.01,2.54 +Share-SHCI,14.79,36.82 +Share-VUSQ,47.69,0.16 +Share-BENA,23.31,6.15 +Share-BEQY,27.96,37.91 +Share-NQQC,38.86,10.16 +Share-RNXT,5.14,28.45 +Share-RIBY,15.67,35.99 +Share-HBPQ,23.43,25.99 +Share-BDME,25.61,0.62 +Share-FPVA,19.72,18.67 +Share-WVNM,24.33,8.21 +Share-MTFR,17.85,29.93 +Share-JGBU,21.05,9.0 +Share-IXFI,45.04,17.55 +Share-TMBL,19.74,8.61 +Share-PTYE,29.58,8.13 +Share-RDHG,37.82,0.45 +Share-TDWK,29.0,14.57 +Share-EVUW,4.44,39.22 +Share-HTJD,46.96,28.99 +Share-HHIZ,41.58,15.58 +Share-XBDW,26.12,9.6 +Share-PCHT,22.24,24.96 +Share-MOVE,12.3,21.15 +Share-HLYD,3.4,12.43 +Share-HIAN,35.75,19.1 +Share-YIOX,26.12,9.22 +Share-GRUT,498.76,39.42 +Share-UNHO,26.1,3.0 +Share-FKJW,21.08,39.78 +Share-WQMQ,16.35,34.43 +Share-TFVA,37.16,37.69 +Share-ARAY,21.53,13.63 +Share-AHQO,28.18,15.38 +Share-SNVL,20.19,38.04 +Share-VUTC,22.42,10.32 +Share-LAHI,38.29,16.15 +Share-YOET,33.67,3.55 +Share-LQHP,26.14,4.73 +Share-YPGY,16.97,38.97 +Share-NHRO,21.77,7.48 +Share-GERI,26.26,25.32 +Share-OQCA,27.85,22.51 +Share-XRRF,11.13,13.29 +Share-CVFX,31.44,14.22 +Share-GXSF,37.2,37.15 +Share-QUWM,29.64,30.36 +Share-VONS,47.68,24.67 +Share-UEZE,2.93,29.39 +Share-KFOG,2.78,33.7 +Share-UXBG,6.08,34.58 +Share-LNMC,13.7,13.48 +Share-WUWO,35.81,20.15 +Share-WBWX,27.02,3.51 +Share-SMUS,23.92,33.62 +Share-NNDP,15.02,11.1 +Share-GTQK,15.4,39.95 +Share-KEUJ,34.5,17.23 +Share-CVLS,2.65,7.14 +Share-TGAD,19.06,18.58 +Share-XZWG,10.25,33.0 +Share-VLOZ,33.81,21.62 +Share-JPRI,30.54,30.15 +Share-AFAJ,29.12,34.82 +Share-TRSF,36.6,20.63 +Share-CBLS,30.38,10.95 +Share-ZVEO,4.78,6.35 +Share-BYJX,22.13,12.48 +Share-RAOW,28.24,6.94 +Share-AZDM,27.17,24.7 +Share-IBVH,6.04,22.03 +Share-JKZM,5.26,17.88 +Share-QKDN,28.55,39.21 +Share-QRBH,17.24,33.01 +Share-HQVQ,17.1,11.65 +Share-CFML,18.07,28.4 +Share-AGPL,15.87,15.17 +Share-ZORL,43.63,16.57 +Share-DDRH,44.61,23.06 +Share-NUZX,19.47,21.97 +Share-AMYS,23.48,6.08 +Share-KQDZ,16.02,38.42 +Share-LQXO,35.36,13.93 +Share-TNCT,37.36,18.23 +Share-KFMR,11.23,28.03 +Share-HZKM,0.0,37.07 +Share-NZMA,36.61,22.14 +Share-MJEL,17.19,15.54 +Share-RBXY,37.09,31.65 +Share-OZBN,5.03,28.04 +Share-VQOW,20.31,37.12 +Share-SCKQ,40.89,36.29 +Share-WYIT,24.23,21.43 +Share-QUQS,13.43,36.39 +Share-QKFA,8.37,7.7 +Share-EAIO,23.78,37.86 +Share-FHZN,6.1,38.09 +Share-QVQY,6.53,15.23 +Share-BZBC,18.85,31.39 +Share-SULM,29.26,16.44 +Share-LYRY,21.56,16.08 +Share-VNMM,0.0,16.96 +Share-YRRO,12.15,16.35 +Share-USSR,25.62,39.56 +Share-AXIX,5.73,33.7 +Share-OBYV,16.39,13.15 +Share-DAVZ,21.92,25.21 +Share-MTLR,16.49,39.97 +Share-BXTP,4.77,33.47 +Share-AQOR,25.45,35.47 +Share-MKUX,48.55,4.8 +Share-SBMG,43.85,24.85 +Share-XOFE,33.55,11.84 +Share-KTYA,39.18,25.4 +Share-LKLG,0.0,36.41 +Share-AZTU,5.43,22.32 +Share-DUET,34.93,11.58 +Share-AQKA,33.58,22.08 +Share-LPDM,39.35,39.73 +Share-GUCL,4.64,12.1 +Share-EBOY,35.08,27.99 +Share-ZPTK,11.7,17.6 +Share-ZRZK,15.04,20.65 +Share-ZRIV,0.0,7.19 +Share-MVVG,16.81,12.18 +Share-ROHB,23.75,30.7 +Share-GNJC,29.25,3.29 +Share-YVCE,41.5,24.53 +Share-FMLL,29.57,26.31 +Share-NUAX,24.42,35.44 +Share-PJTN,0.0,20.73 +Share-FQJZ,16.41,20.04 +Share-HYQP,7.15,25.71 +Share-NLPL,8.45,22.64 +Share-IQMC,0.35,2.81 +Share-SJIV,26.49,33.61 +Share-OODL,5.61,0.6 +Share-UBYY,30.3,20.12 +Share-LPSQ,29.44,36.73 +Share-RSRH,26.64,31.39 +Share-WPTD,31.35,10.62 +Share-QGXD,38.05,21.13 +Share-BVQQ,9.87,20.53 +Share-PNBE,27.3,10.85 +Share-NYRP,23.91,14.05 +Share-GSGQ,3.57,13.5 +Share-QFOM,20.24,17.61 +Share-DWPD,16.13,29.87 +Share-IBSP,32.78,29.57 +Share-EJXB,9.32,2.01 +Share-UEZB,24.87,39.43 +Share-QXLZ,38.15,23.07 +Share-NWDK,33.94,5.75 +Share-XPQB,18.49,26.41 +Share-RNEE,15.93,7.05 +Share-BMWW,3.65,31.45 +Share-DLDY,2.62,4.29 +Share-EKHC,20.22,23.58 +Share-PSEN,10.73,34.65 +Share-BXWL,11.08,28.8 +Share-JEHD,20.22,16.62 +Share-HAKK,14.67,1.78 +Share-CQXK,42.48,19.54 +Share-NFHZ,28.09,11.42 +Share-VEOO,30.85,23.97 +Share-YQTP,27.63,21.53 +Share-APNK,33.9,26.71 +Share-FCIM,25.84,32.99 +Share-CWAN,21.78,5.52 +Share-ZGNB,17.54,37.44 +Share-WDYF,33.55,27.54 +Share-BRCC,48.93,33.39 +Share-OQKF,20.36,25.37 +Share-NOPE,33.63,1.17 +Share-ASGY,20.47,22.18 +Share-HBSR,25.7,16.14 +Share-CZIZ,39.47,32.75 +Share-MLUC,32.69,28.29 +Share-SGHI,30.02,2.93 +Share-CBUV,19.3,21.75 +Share-MOVJ,13.76,23.48 +Share-HAJM,6.01,8.56 +Share-IQQO,0.0,7.84 +Share-OLMP,5.32,35.86 +Share-AUGU,20.67,23.88 +Share-DBFE,36.63,33.34 +Share-JEZT,24.55,7.96 +Share-GXSJ,19.93,12.79 +Share-XREJ,21.24,4.51 +Share-SALE,27.25,33.45 +Share-YSKI,0.0,24.41 +Share-MYXT,23.78,30.09 +Share-WEOQ,4.82,13.53 +Share-NHWA,29.18,39.77 +Share-CYYC,0.42,5.88 +Share-XINI,13.23,26.15 +Share-JHWR,15.51,4.75 +Share-HSOR,17.87,17.02 +Share-DXOW,24.99,38.75 +Share-UMIB,44.93,35.08 +Share-GYWT,38.32,3.9 +Share-RQJV,20.73,31.27 +Share-MHUT,30.36,21.24 +Share-FNZM,22.38,34.75 +Share-KPYM,19.12,20.56 +Share-IIUJ,41.83,7.17 +Share-DDUF,36.49,11.67 +Share-VGUF,28.44,12.75 +Share-THNO,31.4,17.82 +Share-YYEN,25.73,4.43 +Share-RZCT,18.58,23.89 +Share-QRVU,16.96,35.36 +Share-VFGQ,16.36,23.61 +Share-URAA,30.91,25.18 +Share-EBAM,29.48,4.87 +Share-EAAY,23.25,32.93 +Share-XFNL,44.05,23.97 +Share-UTUI,22.78,31.75 +Share-AIRL,7.19,31.28 +Share-AYBY,40.52,10.72 +Share-PWDG,39.72,12.54 +Share-UGTV,46.13,28.3 +Share-GHIZ,28.0,39.89 +Share-UBEA,46.85,4.92 +Share-VNTG,30.54,25.47 +Share-NDSG,24.04,10.44 +Share-OYDA,20.5,10.85 +Share-KXOH,1.5,32.19 +Share-FAXV,29.03,32.58 +Share-QZWX,20.16,24.26 +Share-ABJM,21.17,38.29 +Share-OQSQ,5.07,26.84 +Share-APJH,26.51,38.5 +Share-HUNV,0.0,31.98 +Share-EJFE,19.11,18.07 +Share-BGDY,2.46,16.15 +Share-PJBK,45.42,28.75 +Share-PAWY,21.86,32.65 +Share-KEYI,40.4,31.64 +Share-JUBL,29.67,2.33 +Share-BECH,35.91,3.26 +Share-WALV,29.53,27.89 +Share-DRAB,0.0,15.1 +Share-KMTG,23.21,39.97 +Share-MKXO,26.44,19.97 +Share-QFPY,45.3,7.61 +Share-WZIF,20.04,5.6 +Share-VSIP,42.36,13.16 +Share-IFTU,37.65,13.98 +Share-WMHE,25.47,18.35 +Share-NMDR,22.27,32.97 +Share-MXAF,21.23,11.2 +Share-WVVQ,11.95,18.45 +Share-XFUI,20.81,32.5 +Share-KRLT,29.73,20.48 +Share-BCJD,13.65,17.02 +Share-GJTI,23.11,10.72 +Share-BKDN,34.66,18.97 +Share-ZSZF,26.57,19.68 +Share-LDCO,28.36,13.65 +Share-DBUJ,0.07,10.73 +Share-VBIE,46.52,1.98 +Share-CKEE,17.78,33.02 +Share-ZECG,43.32,30.76 +Share-PWWS,49.36,14.37 +Share-LOBE,39.3,31.97 +Share-HFXF,0.0,9.56 +Share-NZHD,15.79,8.53 +Share-LDVW,26.9,37.09 +Share-PNHT,8.01,20.1 +Share-YNRH,15.48,20.67 +Share-CAEQ,36.56,39.17 +Share-VRCA,37.94,15.52 +Share-WSYK,24.52,25.99 +Share-XKDC,27.34,3.05 +Share-XUPB,16.58,21.26 +Share-IZTA,16.98,12.84 +Share-NFKM,42.83,16.48 +Share-ONRM,7.48,17.87 +Share-TSLL,31.42,7.71 +Share-HXDE,33.15,22.02 +Share-CUSU,2.66,32.49 +Share-ZYBC,39.09,28.26 +Share-KJRG,30.57,31.64 +Share-RYQW,0.0,1.88 +Share-JPLO,9.81,30.98 +Share-PRLI,21.38,35.35 +Share-PCSR,28.48,0.93 +Share-ISXU,23.73,15.06 +Share-IUVO,8.47,13.86 \ No newline at end of file diff --git a/dataset2_Python+P7.csv b/dataset2_Python+P7.csv new file mode 100644 index 0000000..7260a79 --- /dev/null +++ b/dataset2_Python+P7.csv @@ -0,0 +1,1001 @@ +name,price,profit +Share-MOEX,40.6,16.69 +Share-GBGY,27.08,34.09 +Share-AXWK,-9.27,27.19 +Share-FJTI,33.5,20.81 +Share-LGDP,15.26,3.4 +Share-GEBJ,5.87,37.95 +Share-GGNT,33.39,7.88 +Share-FDLS,-6.38,10.96 +Share-JDYS,-2.7,11.96 +Share-TNOV,34.54,22.32 +Share-CKCJ,25.49,10.37 +Share-FUDY,7.03,19.96 +Share-RPPH,-2.32,38.98 +Share-UZLL,16.66,19.4 +Share-EMFC,32.38,30.46 +Share-IZKC,40.45,0.8 +Share-PWAT,24.36,9.64 +Share-ULRO,-5.34,19.83 +Share-NWWZ,45.76,4.76 +Share-BYFY,-1.6,0.35 +Share-AJGB,28.6,36.45 +Share-TXMC,0.0,24.8 +Share-LCVY,0.0,18.92 +Share-SAPZ,22.52,11.93 +Share-LXVL,0.0,1.46 +Share-MNSA,44.49,22.76 +Share-HATC,43.45,34.14 +Share-QUIN,30.69,10.17 +Share-QXFW,0.0,30.24 +Share-OBKS,0.0,29.94 +Share-CZFA,38.63,16.72 +Share-GMHT,40.95,31.02 +Share-EPGY,0.0,9.8 +Share-GDNK,38.36,16.88 +Share-CLRP,0.0,2.36 +Share-ONSO,-7.72,25.13 +Share-QKBL,0.0,20.47 +Share-JLWC,-5.75,7.35 +Share-BFWU,0.0,28.11 +Share-TFWQ,25.49,17.62 +Share-FEPY,0.0,37.41 +Share-MHUQ,29.91,37.89 +Share-PZAR,33.75,23.1 +Share-QBGQ,19.63,25.52 +Share-HPRB,33.43,32.43 +Share-VSEE,-3.35,31.75 +Share-TULV,0.0,20.12 +Share-HQEZ,-2.84,26.29 +Share-ENZZ,37.24,38.19 +Share-OLFJ,43.8,28.11 +Share-SJWC,31.98,1.77 +Share-CGSX,32.29,30.11 +Share-CUXK,-7.58,34.09 +Share-PSOJ,16.49,3.82 +Share-IRTW,0.0,3.24 +Share-WERP,24.67,35.15 +Share-LRIX,9.94,9.25 +Share-IRFE,-6.48,11.54 +Share-XHEE,23.46,22.49 +Share-BOSL,41.4,10.68 +Share-BCFB,-3.26,3.63 +Share-BZTM,-7.84,12.08 +Share-DEHD,30.97,13.34 +Share-UMBE,0.0,15.58 +Share-IOLP,19.28,11.24 +Share-HOJS,34.19,8.58 +Share-UIOA,0.0,32.35 +Share-ZIJI,42.07,30.83 +Share-JVQK,-1.25,2.3 +Share-JKKM,-3.41,7.31 +Share-BDTH,0.0,6.6 +Share-BTDW,0.0,23.13 +Share-EPFF,-8.67,11.48 +Share-OEHW,-3.77,27.92 +Share-YCGH,24.45,38.59 +Share-IORJ,0.0,28.73 +Share-POKS,0.0,23.65 +Share-HGAB,0.0,17.23 +Share-ROOM,15.06,39.23 +Share-MIHK,16.76,22.48 +Share-DEFG,0.0,15.41 +Share-ZZKC,17.92,28.33 +Share-GDZR,25.11,26.67 +Share-BLOZ,18.48,20.11 +Share-XBET,26.57,11.3 +Share-GWZB,14.73,24.83 +Share-MJLJ,25.22,32.46 +Share-PUWX,32.05,2.19 +Share-MPMV,0.0,34.73 +Share-FFZA,4.57,34.5 +Share-MZYQ,38.88,15.02 +Share-ZLRS,0.0,8.61 +Share-PVHB,-3.03,39.89 +Share-XXGF,0.0,36.79 +Share-LOMC,30.82,1.87 +Share-QWTM,31.88,1.41 +Share-MEBX,-8.32,27.93 +Share-BMCJ,0.0,4.68 +Share-QTXH,0.0,28.33 +Share-KDZP,-6.43,18.86 +Share-XSEW,-8.38,26.44 +Share-CIJC,-6.24,24.29 +Share-WVRU,0.0,1.04 +Share-YQYJ,0.0,25.45 +Share-WFJB,-1.15,26.59 +Share-RZAH,-6.55,9.41 +Share-DHVR,-3.04,2.12 +Share-BRMD,-7.21,23.32 +Share-SQVH,-1.57,23.43 +Share-KLNI,49.68,3.12 +Share-IZGR,-6.95,27.01 +Share-IWYJ,28.61,29.58 +Share-XYUA,24.2,16.15 +Share-DWYI,-3.94,15.73 +Share-OAVO,24.38,38.66 +Share-SEHV,34.6,7.55 +Share-RCCZ,-5.7,36.17 +Share-UBWD,26.4,35.05 +Share-EBJX,34.76,35.75 +Share-BUAC,14.38,12.7 +Share-XQII,13.42,39.51 +Share-TEWM,-9.07,29.13 +Share-XAIO,31.75,32.79 +Share-UNEB,0.0,38.85 +Share-YHVF,-2.12,1.17 +Share-YHFO,15.18,20.6 +Share-KNRV,5.85,4.45 +Share-CVGN,-3.1,32.9 +Share-UYMS,24.78,7.08 +Share-OGCK,0.0,22.52 +Share-ZNVI,22.91,18.8 +Share-BMHD,4.85,38.29 +Share-QCZB,-8.35,28.11 +Share-YWCY,43.03,22.51 +Share-KRLB,0.0,25.87 +Share-NZJM,-2.91,26.15 +Share-GHIS,22.48,35.15 +Share-TCMR,0.0,23.49 +Share-IKPS,-5.44,32.01 +Share-BUGW,16.09,8.41 +Share-KGJS,20.09,12.89 +Share-FKHU,-2.74,31.69 +Share-OZNC,0.0,6.15 +Share-HGSA,28.15,34.04 +Share-GJHJ,38.56,14.7 +Share-VTTC,0.0,20.25 +Share-JVCL,-7.09,39.69 +Share-IADB,30.62,2.31 +Share-DYVD,0.28,10.25 +Share-XXGR,22.63,16.91 +Share-MMBX,0.0,21.18 +Share-RHIE,37.8,14.57 +Share-XMSS,0.0,11.89 +Share-ERXT,23.33,25.49 +Share-LUNI,27.4,28.93 +Share-NEJL,0.0,38.29 +Share-EVZE,36.15,7.9 +Share-CEGT,0.0,33.94 +Share-YIFQ,15.85,34.64 +Share-ERQY,17.3,0.71 +Share-HZSS,-7.63,31.67 +Share-UJHM,18.19,20.96 +Share-QBQM,39.76,5.1 +Share-RYPH,43.47,2.19 +Share-PLKN,28.24,30.97 +Share-RURD,31.36,8.98 +Share-MDLX,46.12,24.06 +Share-XQBD,0.0,37.58 +Share-IRSP,33.68,11.49 +Share-SKHH,0.0,2.33 +Share-XYMR,14.49,35.3 +Share-MZYO,31.68,31.59 +Share-DDLU,18.94,36.42 +Share-GPGJ,23.39,21.54 +Share-OSAQ,26.78,37.22 +Share-OSSO,-1.6,33.17 +Share-FWZL,-2.32,21.41 +Share-SNYR,16.44,4.49 +Share-PVAU,43.11,30.85 +Share-TFLS,0.0,30.97 +Share-PACD,24.19,12.97 +Share-HQTP,23.49,6.73 +Share-UPCV,32.45,38.9 +Share-TBEA,6.85,3.71 +Share-QWMB,21.45,15.82 +Share-AHMF,0.0,16.54 +Share-ACNT,0.0,13.59 +Share-TDXN,0.0,1.05 +Share-FSGV,16.41,22.64 +Share-TPBA,-6.32,12.93 +Share-TVEZ,0.0,28.45 +Share-CREF,18.65,11.41 +Share-MKDP,-9.11,32.02 +Share-JYBL,0.0,33.73 +Share-RWJV,29.66,13.61 +Share-DVQD,0.0,0.97 +Share-XTJO,14.06,4.56 +Share-PQXE,31.45,7.0 +Share-DOOX,-5.82,26.73 +Share-RNSZ,28.16,8.96 +Share-BUKX,-9.31,0.23 +Share-KPST,19.88,4.47 +Share-UOPO,21.9,6.11 +Share-SHKO,19.14,19.71 +Share-VKXZ,0.0,1.05 +Share-GUES,-4.26,17.56 +Share-EMME,-4.62,0.36 +Share-BOGI,8.12,9.59 +Share-KUHB,-5.98,4.82 +Share-ADAJ,-9.8,21.35 +Share-GONR,0.0,30.51 +Share-KLTG,0.0,25.75 +Share-IFCZ,35.97,36.97 +Share-ZTKH,25.18,25.6 +Share-MXLA,36.24,22.58 +Share-VWRL,14.74,3.04 +Share-FALC,-4.26,5.63 +Share-BUBP,0.0,9.71 +Share-BPWV,19.59,22.62 +Share-DWSK,29.49,39.35 +Share-ZFSS,42.55,25.23 +Share-BSQQ,-2.68,34.82 +Share-CIUN,0.0,32.11 +Share-LXEY,-1.09,33.74 +Share-PMUE,0.0,5.28 +Share-PNLH,36.64,4.51 +Share-BYAC,9.16,13.42 +Share-MCJD,29.98,23.25 +Share-DBYP,26.7,0.5 +Share-TLTU,0.0,30.44 +Share-ZMEM,17.45,22.94 +Share-GSQW,20.0,10.74 +Share-DSRB,23.63,15.37 +Share-GFVQ,0.0,26.66 +Share-GTSA,-1.71,7.52 +Share-FBUF,19.82,20.24 +Share-NFQC,-6.85,20.62 +Share-XCGP,0.0,32.25 +Share-FCSH,33.12,5.95 +Share-GJRG,-2.96,29.36 +Share-LFXB,14.83,39.79 +Share-LKDU,30.25,30.64 +Share-JYGH,30.01,30.66 +Share-TOUF,29.21,22.65 +Share-WBUC,19.68,24.55 +Share-MQIP,0.0,16.35 +Share-DMWH,32.02,32.63 +Share-VCAX,27.42,38.99 +Share-VEES,21.46,10.87 +Share-ZJJY,34.89,7.99 +Share-VEOE,0.0,2.88 +Share-LQEZ,34.46,23.18 +Share-NQKJ,-5.54,23.78 +Share-VKDR,33.89,0.7 +Share-FFLH,19.47,6.15 +Share-GINJ,-9.26,34.04 +Share-FIUH,20.07,2.63 +Share-MIWG,14.98,14.55 +Share-TWII,42.89,16.87 +Share-IOMJ,0.0,28.01 +Share-IKGL,15.37,4.75 +Share-CVCZ,0.0,15.0 +Share-OKKJ,34.17,7.16 +Share-NGXI,25.12,4.54 +Share-ZBMB,30.24,14.47 +Share-BINC,28.28,23.62 +Share-TXUW,13.95,26.45 +Share-PSAK,0.0,3.77 +Share-FUVN,-7.97,17.47 +Share-RBCS,9.4,30.1 +Share-HUCA,0.0,3.19 +Share-EKVH,11.02,20.13 +Share-HLSI,16.7,7.74 +Share-EPSR,-1.22,8.86 +Share-QDMR,-2.79,15.78 +Share-JIJJ,0.0,37.64 +Share-LIWC,25.44,4.84 +Share-TBCG,30.47,5.04 +Share-RXRT,26.12,27.09 +Share-VQQX,9.62,37.78 +Share-PAZC,-7.87,1.16 +Share-QVOY,17.28,11.33 +Share-TGPO,14.38,35.25 +Share-ULMZ,33.81,7.78 +Share-SACC,33.01,8.71 +Share-BWCL,0.0,3.65 +Share-NILH,33.32,35.94 +Share-TDDN,20.42,11.43 +Share-AELM,25.51,25.43 +Share-DTQP,-0.61,35.66 +Share-FFLB,26.59,19.17 +Share-ZHJB,23.06,3.15 +Share-LBVL,17.09,26.3 +Share-ZZJX,23.26,36.19 +Share-UQDO,0.0,14.81 +Share-OQIM,29.75,31.2 +Share-UQIN,0.0,1.54 +Share-BEIH,0.0,10.79 +Share-NECJ,0.0,18.28 +Share-UCGO,0.0,12.45 +Share-FELN,35.45,8.58 +Share-ERUA,-5.93,25.97 +Share-IJOA,29.73,26.58 +Share-ZLUL,0.0,7.28 +Share-SFQC,36.53,38.92 +Share-FXQO,33.71,12.83 +Share-DXMK,17.72,21.43 +Share-YNBV,9.36,11.26 +Share-WPUY,35.63,3.91 +Share-BWED,24.3,38.52 +Share-MRIQ,-9.57,21.6 +Share-FFES,17.95,27.55 +Share-WAPQ,25.97,27.06 +Share-IJFT,40.91,38.89 +Share-BGOI,0.0,11.8 +Share-ZKSN,22.83,38.63 +Share-RQHA,13.78,3.77 +Share-HNPG,-3.0,8.03 +Share-JTPQ,23.51,2.79 +Share-IWTG,11.75,35.05 +Share-UTYJ,9.38,8.02 +Share-OLJH,20.23,5.43 +Share-TDAD,-4.17,8.5 +Share-QRVC,28.67,23.16 +Share-CFHP,33.9,27.75 +Share-CKKT,0.0,17.39 +Share-FAPS,32.57,39.54 +Share-JRJR,36.77,32.57 +Share-YYXG,19.45,34.09 +Share-DSOO,1.49,12.11 +Share-QHYW,-4.25,24.52 +Share-BIJV,18.05,37.44 +Share-KOXO,-5.28,30.05 +Share-TWBW,0.0,5.89 +Share-DAVR,-2.08,31.85 +Share-JEWG,29.24,12.79 +Share-XZJA,0.0,13.35 +Share-LKJC,0.0,16.82 +Share-ZCCM,0.0,37.66 +Share-IVRT,-3.72,38.3 +Share-QODF,30.91,26.77 +Share-WPRY,6.46,10.71 +Share-MSRD,41.52,0.61 +Share-QGLA,-6.54,30.55 +Share-XPMP,36.14,27.26 +Share-KGMP,32.57,37.77 +Share-OFQO,22.91,34.94 +Share-HVGG,0.0,34.66 +Share-TUCI,23.94,20.01 +Share-SFHD,-8.94,32.99 +Share-GQOC,-7.98,33.91 +Share-OCKK,3.16,36.39 +Share-HODN,0.0,16.21 +Share-ZSES,-6.66,18.23 +Share-XPNN,0.0,19.55 +Share-DLNE,44.06,36.74 +Share-JAWY,31.0,8.0 +Share-RMKL,17.16,14.01 +Share-PVOF,0.0,3.57 +Share-TLSA,-0.32,21.87 +Share-ZHDR,4.22,3.68 +Share-XGGB,-9.78,24.63 +Share-GRVG,7.13,24.38 +Share-CSHN,0.0,23.89 +Share-BPPA,3.97,14.73 +Share-HDJP,29.36,12.83 +Share-DYFQ,31.8,22.62 +Share-LEOL,-8.27,6.3 +Share-MWRK,-6.24,13.88 +Share-CRTA,0.0,6.36 +Share-SUWC,0.0,2.41 +Share-XEFZ,41.35,31.26 +Share-AMXX,-0.41,37.6 +Share-RIZG,0.0,10.61 +Share-QHSX,0.0,10.49 +Share-ICZI,0.0,27.56 +Share-YUAW,32.12,10.26 +Share-QCTW,-3.02,39.18 +Share-DJZF,34.37,36.63 +Share-XFTN,-6.37,8.1 +Share-WWYR,19.78,7.12 +Share-PPQF,-8.16,12.13 +Share-JGTW,35.29,39.43 +Share-YJBT,-7.5,6.08 +Share-RBKG,-9.58,14.64 +Share-YSYQ,0.0,1.08 +Share-CFTN,0.0,5.99 +Share-YRHL,0.0,11.63 +Share-VPJK,0.0,30.19 +Share-OOGV,-3.73,32.44 +Share-FPKK,10.23,11.27 +Share-TGDY,21.98,37.52 +Share-SFLQ,-8.46,4.1 +Share-CKTX,-1.68,26.75 +Share-IZPU,0.0,28.17 +Share-VYEK,-7.89,34.58 +Share-XLUL,35.16,33.36 +Share-KLBZ,0.0,32.4 +Share-TOSB,0.0,26.08 +Share-VSLW,0.0,4.17 +Share-FRMR,18.72,25.46 +Share-LZQF,0.0,30.97 +Share-OBRM,0.0,24.95 +Share-KKOT,0.0,9.93 +Share-CBVX,43.33,18.25 +Share-ELVN,-2.03,34.17 +Share-FKYG,0.0,39.29 +Share-NOSY,-3.91,14.11 +Share-FWMI,24.34,23.41 +Share-GBUK,25.36,17.82 +Share-BBNF,3.29,28.48 +Share-JWKJ,-8.34,20.76 +Share-GRZE,0.0,31.32 +Share-FNTB,39.06,12.24 +Share-GBAP,-4.27,8.79 +Share-ZKPO,0.0,22.61 +Share-FVKD,-2.34,25.72 +Share-ROAL,21.08,13.19 +Share-LXVS,0.0,11.23 +Share-DVGV,27.55,1.69 +Share-AROQ,37.11,2.09 +Share-OWMP,9.43,23.39 +Share-CFDA,21.7,32.82 +Share-BDCW,31.46,33.81 +Share-KFMH,31.05,32.89 +Share-IYRM,-2.73,4.34 +Share-DHIE,11.03,20.59 +Share-SBXE,43.11,17.99 +Share-ZVCC,18.35,20.42 +Share-CDAN,-1.67,39.83 +Share-LBBB,-2.14,34.34 +Share-FFKQ,0.0,26.76 +Share-OVMJ,0.0,19.15 +Share-AAXN,33.88,2.54 +Share-CXYC,8.5,35.73 +Share-UMKL,20.68,3.83 +Share-SODF,18.72,34.15 +Share-TPXH,0.0,39.47 +Share-VUMM,36.71,38.31 +Share-EOMZ,38.0,17.61 +Share-QVUJ,47.27,7.18 +Share-MNKR,28.36,24.82 +Share-MEXS,-0.18,20.46 +Share-KPCE,0.0,3.12 +Share-LHAJ,-7.75,16.38 +Share-EGRN,0.0,22.96 +Share-GIXZ,17.23,35.66 +Share-LKSD,0.12,9.14 +Share-NFTL,26.08,19.3 +Share-EOEN,11.96,27.67 +Share-NUSH,-7.49,22.04 +Share-UTYB,0.0,24.63 +Share-KQPV,15.27,16.5 +Share-EGHA,27.27,9.71 +Share-TNXZ,0.0,22.72 +Share-NESS,37.52,15.65 +Share-TBCK,23.36,0.49 +Share-XLIZ,0.0,19.44 +Share-SVIR,-4.81,21.77 +Share-UDRD,36.88,19.92 +Share-NSCW,-3.34,18.23 +Share-IOER,0.0,6.68 +Share-IHUL,0.0,20.46 +Share-VNUT,30.18,10.88 +Share-CTBT,22.53,1.52 +Share-TVSH,19.74,28.08 +Share-XJGM,0.0,36.69 +Share-SHSN,0.0,31.29 +Share-HQHI,36.56,22.24 +Share-XLSC,32.49,7.65 +Share-JPEA,-9.87,29.72 +Share-CQPJ,24.73,12.06 +Share-SAUO,-9.78,23.54 +Share-PSQJ,0.0,14.15 +Share-SXKM,-5.91,22.02 +Share-KARR,0.0,16.45 +Share-ROML,0.0,32.17 +Share-CPMK,0.0,18.26 +Share-OBUD,30.74,20.69 +Share-CLOD,28.0,11.79 +Share-CRQO,-6.93,3.87 +Share-PRUE,-2.96,23.62 +Share-VTYT,-1.53,27.2 +Share-MCNV,-4.61,33.91 +Share-QPDS,19.19,22.79 +Share-USPX,20.7,11.1 +Share-TMRA,17.72,34.66 +Share-GGCX,26.26,27.5 +Share-QPIK,-1.62,23.09 +Share-FAKH,7.65,38.46 +Share-LUAH,0.0,22.97 +Share-LJDZ,25.25,32.47 +Share-MZLD,14.98,36.62 +Share-OOQI,-5.61,32.19 +Share-EAWS,6.23,7.33 +Share-CXHY,0.0,20.01 +Share-HPWH,26.76,33.57 +Share-GVNC,0.0,37.1 +Share-GWLR,44.0,9.48 +Share-SNZC,-1.06,12.96 +Share-UIOB,0.0,9.43 +Share-AYYS,-1.56,8.96 +Share-OMTW,29.62,1.32 +Share-EWXE,0.0,30.48 +Share-WMPH,-9.62,13.4 +Share-UBFI,25.59,30.77 +Share-CWXW,32.49,13.9 +Share-OTJL,0.0,30.47 +Share-GWDU,-0.11,39.44 +Share-KVRJ,21.03,21.91 +Share-BHNC,-2.05,23.54 +Share-AXQS,30.59,14.59 +Share-OZPK,27.29,14.02 +Share-GLFG,8.52,5.8 +Share-NDSA,27.98,23.29 +Share-HPAE,33.19,23.93 +Share-SURL,40.57,7.72 +Share-PILL,15.36,31.89 +Share-EQXP,0.0,25.18 +Share-YBHP,9.53,10.79 +Share-WOIE,-1.24,22.39 +Share-LDUX,33.71,27.64 +Share-SBVQ,0.0,15.05 +Share-IGRU,29.73,9.99 +Share-BMCT,-1.79,10.03 +Share-KMHQ,21.2,36.69 +Share-XYXF,33.13,5.71 +Share-BCMT,30.0,34.45 +Share-ROSM,-0.05,27.63 +Share-NPQZ,0.0,38.26 +Share-YPVN,30.02,34.97 +Share-ZBEV,0.0,13.5 +Share-EURX,22.82,15.03 +Share-QQGM,-2.87,17.89 +Share-UNGP,32.88,33.2 +Share-IKWU,0.0,3.99 +Share-OFHH,-2.33,38.23 +Share-ZRON,-5.49,32.35 +Share-UWPP,0.0,19.75 +Share-GWPH,11.62,12.27 +Share-NGBD,20.12,7.99 +Share-TBBO,-5.2,25.96 +Share-OZRS,20.76,22.39 +Share-SKSP,-9.22,7.59 +Share-TFYL,-5.93,32.65 +Share-NDBC,-9.37,4.29 +Share-XNKA,-4.54,3.22 +Share-UURA,0.0,31.97 +Share-YFTA,39.77,32.82 +Share-XDKC,44.74,20.55 +Share-EPTK,20.35,35.89 +Share-BTJG,29.58,3.74 +Share-DKEH,0.0,4.9 +Share-VGQZ,-6.13,22.28 +Share-AWIK,-8.01,37.1 +Share-GITY,17.03,20.1 +Share-SWNS,14.79,2.14 +Share-BKDR,16.33,0.69 +Share-CIGZ,33.17,3.62 +Share-FEWX,10.94,12.14 +Share-HNRK,24.64,6.33 +Share-DMCN,25.31,22.47 +Share-NTHP,8.91,6.32 +Share-URZP,39.54,14.98 +Share-KPDP,18.73,5.06 +Share-BCRH,0.0,26.95 +Share-AOMD,-1.64,3.15 +Share-PQAL,25.73,1.07 +Share-XDFA,0.0,7.72 +Share-FCHD,12.39,38.28 +Share-GEDB,28.1,26.53 +Share-KJOZ,0.0,10.88 +Share-NJGR,20.98,0.68 +Share-UXRX,-9.08,14.68 +Share-DGVO,15.59,17.89 +Share-WGAF,0.0,16.26 +Share-GUDZ,-4.59,27.1 +Share-OEKW,0.0,8.88 +Share-XNVJ,31.33,23.64 +Share-VVYP,11.07,36.92 +Share-MPJI,-8.56,39.72 +Share-BIIT,20.36,26.27 +Share-LOFX,42.54,15.0 +Share-GVQR,0.0,19.92 +Share-JWGF,48.69,39.93 +Share-YVHX,-7.62,20.68 +Share-PWFB,0.0,5.62 +Share-EVAU,37.92,29.57 +Share-ALIY,29.08,39.93 +Share-FYPW,0.0,12.73 +Share-XOMG,-8.94,38.32 +Share-AVAP,-3.48,36.34 +Share-BLWI,-1.92,25.91 +Share-ACFX,29.75,10.99 +Share-PBUC,26.13,34.12 +Share-SWKP,-5.22,24.17 +Share-VNAZ,-4.58,1.48 +Share-KHHS,0.0,13.2 +Share-LZLD,-7.85,6.42 +Share-TMKW,-3.14,15.38 +Share-FNQA,23.96,17.82 +Share-TCEJ,29.47,9.0 +Share-FCNH,0.0,1.99 +Share-MMAO,-3.21,12.08 +Share-LOGV,31.01,18.26 +Share-ALUE,38.3,8.36 +Share-KPBW,8.23,37.21 +Share-NDKR,33.06,39.91 +Share-ZMYD,0.0,26.24 +Share-WSXP,-6.82,12.75 +Share-QEVK,49.77,34.38 +Share-VAXN,15.74,8.35 +Share-PXQN,13.75,11.84 +Share-CBYJ,27.41,36.2 +Share-JMAE,45.33,0.28 +Share-HIRE,13.62,21.12 +Share-VCXT,29.19,39.22 +Share-ZOFI,-2.84,20.15 +Share-FJKT,22.65,6.24 +Share-NAFI,34.41,35.83 +Share-ABGS,-8.93,11.9 +Share-ZQUC,30.29,35.03 +Share-XROZ,-0.12,8.46 +Share-IKIM,-5.64,18.46 +Share-PUCI,-2.54,39.87 +Share-CGKF,20.76,2.46 +Share-LVOE,28.7,26.27 +Share-WUWQ,-2.47,0.5 +Share-IZLJ,23.02,32.68 +Share-HQJQ,22.69,12.69 +Share-XCPD,-4.51,21.0 +Share-DCSI,0.0,7.84 +Share-UYTD,0.0,18.88 +Share-DTZD,0.0,29.79 +Share-GUFP,32.2,14.84 +Share-GUFP,14.06,0.37 +Share-BWOX,-6.82,4.72 +Share-MJMB,20.69,20.21 +Share-QGTL,-2.0,0.34 +Share-QSSO,-8.38,38.78 +Share-RREX,23.07,14.11 +Share-ESIQ,44.85,25.26 +Share-XVSR,30.95,9.25 +Share-XRFP,26.61,35.9 +Share-QMPF,0.0,17.67 +Share-NTYY,-9.81,34.22 +Share-MARL,0.0,2.31 +Share-SDCW,-0.2,0.27 +Share-XLLI,23.39,11.63 +Share-DEQM,-6.84,4.93 +Share-TOTF,40.06,12.0 +Share-PDWT,-6.31,33.26 +Share-NISD,18.07,31.08 +Share-UECW,0.0,0.95 +Share-XFGQ,22.82,19.38 +Share-XDSF,12.76,18.05 +Share-ITCO,29.87,1.51 +Share-NGKD,0.0,15.8 +Share-JJUY,-5.68,17.61 +Share-LLKD,17.55,22.73 +Share-IBKM,27.23,18.08 +Share-IGJC,0.0,18.9 +Share-FUGM,1.94,16.83 +Share-OKXH,-8.64,35.66 +Share-TEUY,0.0,34.2 +Share-TQDR,37.53,1.63 +Share-QHPB,20.77,27.74 +Share-AQXM,11.88,16.22 +Share-VWEA,0.0,22.13 +Share-VRJZ,31.83,34.86 +Share-SMRB,8.06,2.49 +Share-YHVQ,22.37,33.39 +Share-KJLB,-9.94,1.18 +Share-NDYN,0.0,33.54 +Share-QBIL,28.52,25.41 +Share-JMLZ,1.27,24.71 +Share-XMVT,-5.83,10.05 +Share-ZLMC,2.47,31.45 +Share-LJAS,-0.75,2.47 +Share-ACBZ,-5.05,15.66 +Share-GXBP,25.96,1.12 +Share-HHSE,16.28,24.55 +Share-UWVI,23.16,8.75 +Share-ZBIH,40.67,3.46 +Share-ZSHC,0.0,33.58 +Share-DQXJ,7.64,25.63 +Share-BMVE,0.0,34.92 +Share-WPHZ,0.0,14.36 +Share-NCUV,-6.48,35.31 +Share-SCWM,6.42,38.1 +Share-UVXN,24.18,0.33 +Share-MYLT,-3.97,34.77 +Share-ZGPC,-1.39,18.1 +Share-ZKOZ,13.65,26.62 +Share-KOVS,3.3,15.43 +Share-OZDD,34.74,10.7 +Share-YUIL,0.0,6.21 +Share-GIUG,36.74,4.23 +Share-ZPEC,43.95,18.73 +Share-WKQC,30.58,34.92 +Share-TVZL,-7.05,25.04 +Share-LLWI,31.8,5.58 +Share-BDGA,-5.98,14.21 +Share-EAWG,38.02,8.44 +Share-LXPG,0.0,22.95 +Share-CKQW,0.0,39.98 +Share-JAQD,26.78,15.0 +Share-PUWS,17.8,23.49 +Share-XHGB,24.98,18.98 +Share-OEYT,14.92,32.1 +Share-XLYG,31.06,35.2 +Share-LNWD,13.78,25.51 +Share-EIAY,-5.57,37.28 +Share-SKXD,26.23,15.46 +Share-FCAY,-6.77,18.74 +Share-RLIR,31.33,20.04 +Share-PJCC,0.0,31.11 +Share-EFFN,32.25,22.14 +Share-OIWF,29.45,1.83 +Share-ESBR,18.89,7.94 +Share-GXBC,-3.21,15.62 +Share-XBHF,-7.28,16.99 +Share-WSRV,-4.52,0.31 +Share-MTPO,0.0,24.41 +Share-YJHG,0.0,32.14 +Share-DFGJ,40.44,32.69 +Share-REWP,8.72,12.66 +Share-GPYU,-7.57,16.88 +Share-IZZC,22.24,37.96 +Share-NJZA,23.18,7.02 +Share-JXIT,33.18,21.21 +Share-JKGJ,0.0,6.73 +Share-YLSV,33.17,7.01 +Share-VGTY,16.36,2.89 +Share-VQCG,0.0,13.2 +Share-PATS,27.7,39.97 +Share-KREV,34.5,13.81 +Share-QSRS,33.12,8.59 +Share-DLCU,47.31,12.86 +Share-OXEG,19.68,28.61 +Share-STKC,37.31,31.26 +Share-SYIK,-8.89,3.29 +Share-UUAX,35.36,22.05 +Share-DBOZ,15.35,1.26 +Share-FWMV,41.68,35.8 +Share-NEBB,30.52,2.05 +Share-YHLO,-6.4,8.88 +Share-XQYT,-1.8,17.52 +Share-EBRM,0.0,1.05 +Share-ZOYI,0.0,26.11 +Share-GNHL,10.94,12.59 +Share-HLRR,12.11,20.6 +Share-UJAG,-3.58,22.08 +Share-RLXE,22.5,28.06 +Share-ASTA,40.06,24.04 +Share-IHZZ,0.0,19.37 +Share-BMQQ,27.67,22.5 +Share-SHXC,0.0,30.42 +Share-CDME,24.47,22.92 +Share-YCHH,0.0,36.18 +Share-ORYZ,-6.25,7.54 +Share-PDIM,32.37,26.89 +Share-JZRS,-9.95,33.7 +Share-EBSL,29.67,34.32 +Share-SMTV,0.0,12.88 +Share-RRWA,0.0,20.95 +Share-BQOC,32.45,31.1 +Share-BKIO,34.74,35.5 +Share-RBOO,-0.46,24.83 +Share-RCYO,0.0,39.34 +Share-QVJV,7.85,5.5 +Share-KOIS,29.14,5.06 +Share-VARN,0.0,5.43 +Share-GFHS,25.33,34.07 +Share-XQVX,0.0,25.19 +Share-EWAK,31.03,5.49 +Share-PSMF,33.45,38.87 +Share-JHVS,24.24,32.28 +Share-RBJY,0.0,11.54 +Share-HLNE,18.42,10.04 +Share-EPXG,-4.08,16.53 +Share-JKQV,18.53,19.69 +Share-LKFF,0.0,13.53 +Share-ONOK,0.0,21.92 +Share-JHKE,16.19,29.24 +Share-LAIC,8.57,28.37 +Share-NXID,27.88,29.03 +Share-ZXMU,26.21,14.2 +Share-TQKI,34.66,25.26 +Share-HPXC,45.39,3.21 +Share-IPEY,0.0,19.92 +Share-UXKW,43.27,28.74 +Share-FEST,18.96,2.42 +Share-UMVN,27.94,3.66 +Share-TNFX,0.0,34.35 +Share-SWAT,11.67,13.77 +Share-ANFX,38.55,39.72 +Share-SQKE,29.48,8.99 +Share-BNSD,12.78,0.55 +Share-XFCI,30.31,30.65 +Share-CLVH,0.0,26.9 +Share-TDMU,0.0,28.33 +Share-RSBW,-4.93,19.55 +Share-IUNE,-0.73,4.07 +Share-SMHV,14.66,12.77 +Share-WOQD,-8.9,35.7 +Share-OKBS,0.0,8.59 +Share-VWZM,40.41,36.2 +Share-XFFR,21.73,4.99 +Share-ZXET,17.97,2.95 +Share-NHGK,-9.72,36.2 +Share-HCIO,-8.32,25.41 +Share-FOAV,26.17,23.59 +Share-QFSM,0.0,15.07 +Share-EPUR,0.0,17.73 +Share-JGUL,-3.76,17.17 +Share-QPVO,18.34,9.03 +Share-MASZ,31.51,4.55 +Share-FVRD,34.27,8.38 +Share-GHQY,-0.23,32.05 +Share-MJYL,29.91,9.18 +Share-UYFV,33.3,26.4 +Share-XYLX,0.0,39.22 +Share-LQBV,0.0,3.45 +Share-DOVC,10.62,8.12 +Share-DEKT,-2.56,3.02 +Share-NFLQ,25.89,34.78 +Share-BDKN,22.79,4.7 +Share-OPBR,39.0,38.95 +Share-ZAWK,26.43,31.99 +Share-OUFV,-9.44,3.57 +Share-RPRY,0.0,15.3 +Share-MOER,0.0,0.68 +Share-PHHY,0.0,10.95 +Share-DZXH,-8.97,5.65 +Share-CNFG,-6.13,6.44 +Share-JLUZ,34.32,18.67 +Share-BZHY,24.22,1.75 +Share-BXUF,-1.36,5.39 +Share-TRGC,16.95,21.53 +Share-FGMM,-7.28,34.25 +Share-LZXM,26.4,11.74 +Share-NMLA,-7.4,2.84 +Share-EUFT,25.4,7.13 +Share-ZTTS,0.0,38.0 +Share-EWUO,-3.26,11.13 +Share-JWGM,-9.37,24.98 +Share-ASGL,-7.08,1.39 +Share-BWCG,13.29,12.28 +Share-VGBO,23.61,28.19 +Share-QQNK,0.0,14.38 +Share-MXQF,42.13,15.05 +Share-BVWI,0.0,22.98 +Share-UEEQ,-6.86,38.37 +Share-JCWZ,3.86,8.13 +Share-HKOT,25.39,3.46 +Share-WHVN,13.23,14.31 +Share-MBCK,41.85,12.01 +Share-MVUM,19.16,23.4 +Share-LJWS,17.6,29.2 +Share-FMXA,-6.37,9.23 +Share-HFJJ,-5.73,10.65 +Share-SHXW,0.0,33.22 +Share-JIEN,26.04,29.03 +Share-BIDH,23.63,7.51 +Share-VVGN,28.79,24.61 +Share-RWIW,8.93,18.65 +Share-OJKC,29.15,33.19 +Share-GMIB,24.22,11.92 +Share-WATV,0.0,28.21 +Share-JMNJ,0.0,12.37 +Share-DIZL,-0.72,18.4 +Share-RALV,-6.54,33.97 +Share-AVCY,16.83,5.57 +Share-AIEB,27.14,7.6 +Share-ZVXT,-2.01,34.15 +Share-WHHK,15.17,4.1 +Share-XHVF,29.05,25.53 +Share-KPKI,21.32,12.42 +Share-OLPM,0.0,26.39 +Share-AOEQ,10.2,0.83 +Share-ULSA,-7.74,14.35 +Share-GKDH,32.41,36.94 +Share-KSGY,28.67,2.45 +Share-DVFT,15.51,9.54 +Share-AESX,-6.97,10.61 +Share-AKKQ,-3.02,22.8 +Share-YNGA,-5.21,39.06 +Share-QLZZ,32.15,10.56 +Share-MOOJ,17.29,19.9 +Share-LOZE,-5.0,36.82 +Share-VNNW,0.0,17.76 +Share-XMYX,0.0,4.21 +Share-ZKSM,32.55,23.24 +Share-NQNX,35.78,30.98 +Share-KEZV,-7.7,4.54 +Share-JNBX,0.0,17.87 +Share-KWXB,-6.64,34.7 +Share-RYXC,-5.69,5.83 +Share-TYEE,0.0,17.77 +Share-ZOXW,36.05,5.87 +Share-RVXK,-6.57,6.07 +Share-YFVZ,22.55,39.1 +Share-KRRA,15.28,34.9 +Share-XJCP,50.88,4.68 +Share-DRVS,-3.88,4.77 +Share-LRGQ,35.83,5.19 +Share-ZWKX,23.65,5.62 +Share-IVAK,-1.5,10.34 +Share-WKEP,-8.28,26.33 +Share-TNLL,-3.14,36.47 +Share-WNWL,26.38,35.55 +Share-KXMK,0.0,7.59 +Share-LBYX,0.0,19.91 +Share-ADEW,0.0,11.95 +Share-UUEZ,23.22,8.72 +Share-GRSD,-6.8,19.54 +Share-XGNC,41.86,35.14 +Share-YEIX,22.78,3.11 +Share-FRHE,26.18,10.75 +Share-LXZU,4.24,39.54 +Share-SOZE,0.0,30.7 +Share-PBOM,31.93,5.7 +Share-ROVP,-7.23,21.55 +Share-GYCU,0.0,14.93 +Share-XZBG,-2.59,34.06 +Share-NONY,0.0,1.06 +Share-TQMM,10.7,24.3 +Share-MEQV,5.49,38.27 +Share-USYD,0.0,22.68 +Share-BNIN,35.39,21.76 +Share-YQGK,0.0,33.94 +Share-VUWI,0.0,36.99 +Share-LLUK,-1.39,11.51 +Share-SSJB,28.35,20.23 +Share-KMOS,-5.64,8.46 +Share-YRAH,37.34,33.01 +Share-SRKH,-8.3,23.07 +Share-USJZ,35.49,34.37 +Share-QTFR,5.91,3.23 +Share-NXMJ,0.0,21.65 +Share-DEPW,2.3,10.47 +Share-LOMD,18.96,10.14 +Share-MALJ,46.37,32.88 +Share-ERJT,0.0,21.48 +Share-JKFA,29.51,1.92 +Share-WNJN,-9.23,1.78 +Share-IAAD,36.66,0.54 +Share-HKWL,0.0,27.45 +Share-WXHZ,-3.48,35.47 +Share-BWCA,-1.06,0.22 +Share-VOTM,-3.53,10.55 +Share-KRWB,-6.96,20.62 +Share-BPHH,-7.29,17.88 +Share-RTAG,-7.7,37.25 +Share-SQDP,0.0,18.07 +Share-PSAO,24.82,25.86 +Share-JWDZ,2.09,32.2 +Share-QRFQ,17.34,0.74 +Share-OUKR,40.23,8.29 +Share-QWCV,33.57,17.11 +Share-QLWT,37.63,38.27 +Share-ZOEN,33.47,2.42 +Share-TEKS,19.17,0.15 +Share-LTYL,39.96,32.04 +Share-UABE,43.23,28.73 +Share-PLLK,19.94,39.91 +Share-POQJ,39.65,10.93 +Share-VLSN,0.0,38.14 +Share-ZOFA,25.32,39.78 +Share-JTVI,-7.64,15.2 +Share-FZJS,21.49,31.57 +Share-FZOB,-8.42,18.51 +Share-XTZL,0.0,27.02 +Share-BYNH,-5.62,6.08 +Share-LGYC,-7.23,24.8 +Share-IYJX,0.0,32.35 +Share-GHMF,-6.24,18.28 +Share-EGWW,0.0,8.52 +Share-FWBE,18.31,39.82 +Share-RGUQ,47.79,18.47 +Share-EIZB,28.17,0.91 +Share-JSMQ,29.86,7.55 +Share-TXQH,-0.6,1.26 +Share-IRUN,20.34,21.38 +Share-MBQU,51.46,35.78 +Share-ZGFP,11.69,31.0 +Share-OESN,-2.93,6.99 +Share-IXCI,26.32,39.4 +Share-HYAJ,0.0,0.73 +Share-NJGR,31.15,36.69 +Share-JSJH,28.84,34.45 +Share-ICHU,28.94,11.52 +Share-EXMW,-1.03,17.71 +Share-AXIW,0.0,35.21 +Share-GYES,12.71,25.9 +Share-KHIC,-2.58,38.77 +Share-ECAQ,31.66,39.49 +Share-SXXV,0.0,11.1 +Share-NDMH,23.12,19.79 \ No newline at end of file diff --git a/optimized.py b/optimized.py index 89ea4a9..f8999c8 100644 --- a/optimized.py +++ b/optimized.py @@ -1,5 +1,10 @@ import csv +MAX_COST = 500 +DATASET1 = "dataset1_Python+P7.csv" +DATASET2 = "dataset2_Python+P7.csv" +DATASET0 = "Liste+dactions+-+P7+Python+-+Feuille+1.csv" + def listFromFile(csv_file): """ @@ -15,9 +20,12 @@ def listFromFile(csv_file): liste.pop(0) for item in liste: item[1] = float(item[1]) + if item[2][-1] == "%": + item[2] = item[2].strip("%") item[2] = float(item[2]) return liste + def transformData(dataset): """ Transform in a list of dict with computed values as gain, ratio @@ -26,14 +34,33 @@ def transformData(dataset): :return: a sorted list of dict """ tmpset = [{'nom': x[0], 'cout': x[1], - 'rendement': x[2], - 'gain': x[1] * x[2] / 100, - 'ratio1': x[2] / x[1], - 'ratio2': (x[1] * x[2] / 100) / x[1]} for x in dataset if - x[1] > 0.0 and x[2] > 0.0] + 'rendement': x[2], + 'gain': x[1] * x[2] / 100, + 'ratio1': x[2] / x[1], + 'ratio2': (x[1] * x[2] / 100) / x[1]} + for x in dataset if x[1] > 0.0 and x[2] > 0.0] return sorted(tmpset, key=lambda x: x['gain'], reverse=True) + +def get_results(filepath, maximum, nbr): + """ + load, transform data then run the algorithm and print results + :param filepath: full path to csv + :param maximum: maximum cost + :param nbr: set number + :return: print results + """ + + action_list = transformData(listFromFile(filepath)) + maximum_gain, selection = sacADosFloat(action_list, maximum) + + print("\nDATASET", nbr) + print(f"Cost: {sum(x['cout'] for x in selection):.2f} €") + print("Profit: %.2f €" % maximum_gain) + print(f"Shares : {[x['nom'] for x in selection]}") + + def sacADosFloat(actions, maximum_cost): """ Use dynamic approach @@ -50,11 +77,18 @@ def sacADosFloat(actions, maximum_cost): if i == 0 or w == 0: table[i][w] = 0.0 elif actions[i-1]['cout'] <= w: - table[i][w] = max(actions[i-1]['gain'] + table[i-1][int(w-actions[i-1]['cout'])], table[i-1][w]) + table[i][w] = ( + max( + actions[i-1]['gain'] + + table[i-1][int(w-actions[i-1]['cout'])], + table[i-1][w] + ) + ) + else: table[i][w] = table[i-1][w] - # Select + # Selection w = maximum_cost selected_actions = [] for i in range(n, 0, -1): @@ -65,25 +99,11 @@ def sacADosFloat(actions, maximum_cost): return table[n][int(maximum_cost)], selected_actions - -actions = transformData(listFromFile("/home/b/Documents/OCR/projet7/ph3/dataset1_Python+P7.csv")) -actions2 = transformData(listFromFile("/home/b/Documents/OCR/projet7/ph3/dataset2_Python+P7.csv")) +def main(): + # get_results(DATASET0, MAX_COST, 0) + get_results(DATASET1, MAX_COST, 1) + get_results(DATASET2, MAX_COST, 2) - -maximum_cost = 500 - -maximum_gain1, selection1 = sacADosFloat(actions, maximum_cost) -maximum_gain2, selection2 = sacADosFloat(actions2, maximum_cost) - -print("\nDATASET 1") -print(f"Cout: {sum(x['cout'] for x in selection1):.2f}") -#print(f"Rendement: {sum((x['cout']*x['rendement']/100)for x in actions_selectionnees):.2f}") -print("Gain: %.2f" % maximum_gain1) -print(f"Actions sélectionnées: {[x['nom'] for x in selection1]}") - -print("\nDATASET 2") -print(f"Cout: {sum(x['cout'] for x in selection2):.2f}") -#print(f"Rendement: {sum((x['cout']*x['rendement']/100)for x in actions_selectionnees2):.2f}") -print("Gain: %.2f" % maximum_gain2) -print(f"Actions sélectionnées: {[x['nom'] for x in selection2]}") +if __name__ == '__main__': + main()