mirror of
https://github.com/OpenBB-finance/OpenBB.git
synced 2026-10-27 12:40:35 +00:00
Custom data context (#1193)
* Add first iteration of custom context * Add sample data + improve plot * Change `head` to `show` with sorting and limit. Add "-x" to plot and dynamic update of completer * generate random time series for test csv * Make columns lower case. Check if date is in columns and convert to timestamp. Improve plotting for dates * Add qa to custom * Add pred to custom * Hugooooo * Testing * dang whitespace Co-authored-by: Colin Delahunty <72827203+colin99d@users.noreply.github.com> Co-authored-by: didierlopes.eth <dro.lopes@campus.fct.unl.pt>
This commit is contained in:
733
custom_imports/test.csv
vendored
Normal file
733
custom_imports/test.csv
vendored
Normal file
@@ -0,0 +1,733 @@
|
||||
Date,ColNorm,Col2,ColNorm3,ColB
|
||||
2020-01-01,0.9999525702125136,1.0123130194965915,1.0086674575012688,0.0012027960377402266
|
||||
2020-01-02,0.9838498192741062,1.0234212550466153,1.0042245214721552,0.004516903534694491
|
||||
2020-01-03,1.0026921290619137,1.0197488119578417,1.0062436813305022,0.00703506806240136
|
||||
2020-01-04,0.9880559292083877,1.0333080955589942,1.0443020108362489,0.008811731023127739
|
||||
2020-01-05,0.9779970244070624,1.0800643722419347,1.0793343716705162,0.01969649975651378
|
||||
2020-01-06,0.9769190810755058,1.074084939646055,1.0576481541518057,0.020894315874158437
|
||||
2020-01-07,0.9766394732308502,1.0543684802965811,1.0610302031972367,0.02204281942742464
|
||||
2020-01-08,1.0129570916424941,1.052787445634228,1.0726969194936098,0.024441869391977136
|
||||
2020-01-09,1.0358984262904671,1.0837030226137803,1.0728332396061548,0.025566331803853582
|
||||
2020-01-10,1.0573273623296362,1.0514770924225432,1.0712841902537005,0.027812301599060146
|
||||
2020-01-11,1.0591295348101435,1.0293934727855478,1.057462172431816,0.03609599421586869
|
||||
2020-01-12,1.0479705339307217,1.089499710414309,1.053145773285828,0.03757372570516329
|
||||
2020-01-13,1.0135011066008446,1.0647814334478263,1.0307643076773845,0.04702671062668252
|
||||
2020-01-14,1.0129001854523945,1.0838484969617903,1.0214500559731443,0.04865773201730687
|
||||
2020-01-15,1.0327050271538776,1.0974755645383598,1.0158943158591365,0.0500936104670989
|
||||
2020-01-16,1.0401611506598178,1.1055856016959222,1.017570962222138,0.051546510283918566
|
||||
2020-01-17,1.0592005527980166,1.1251400688546163,1.0279746739739088,0.05214905463605022
|
||||
2020-01-18,1.0656988484365215,1.1233181056126653,1.0057696407317656,0.057062781069887186
|
||||
2020-01-19,1.0774050013473389,1.1391739427677507,1.0214163214305862,0.062085692889891055
|
||||
2020-01-20,1.0743932195444494,1.1184045199564303,1.0191038847168161,0.06489656348696969
|
||||
2020-01-21,1.069314627826471,1.1213902310033308,0.981727142869055,0.07095929889656888
|
||||
2020-01-22,1.0677838384124778,1.1101107117435527,0.9937753008992988,0.07406390750197017
|
||||
2020-01-23,1.0721837052909196,1.1231339322396712,1.0063170364688099,0.07606729140605606
|
||||
2020-01-24,1.0519412984859928,1.1292660530353713,1.0249133848091416,0.07773201479298267
|
||||
2020-01-25,1.0144053512404119,1.1270914610841392,1.053700783473425,0.07980865059299411
|
||||
2020-01-26,1.023527191979995,1.1363592258852364,1.066955769678183,0.08530077858530441
|
||||
2020-01-27,1.0608121282898904,1.155767423142797,1.0649251904848016,0.09105858072239356
|
||||
2020-01-28,1.0610896881458836,1.1872998954313339,1.0910155077242598,0.09685493487836914
|
||||
2020-01-29,1.0729846116865194,1.2129254292196707,1.0953355367602375,0.0974095864886109
|
||||
2020-01-30,1.1070155748383577,1.2225436274180337,1.1023786574966623,0.09848659852335061
|
||||
2020-01-31,1.1276468893948646,1.2167827264140132,1.087327864804962,0.10185505176650272
|
||||
2020-02-01,1.1273047110213463,1.208962891615007,1.095389877912996,0.10246375370437492
|
||||
2020-02-02,1.164524331136035,1.2141411850554893,1.0930563724386055,0.10406407397455765
|
||||
2020-02-03,1.1572415510154523,1.1731428473855654,1.1125836529439332,0.10818540838270917
|
||||
2020-02-04,1.1361884175838584,1.1741534743835527,1.1507406424420272,0.11373486819069639
|
||||
2020-02-05,1.1328844654206718,1.1898517420599821,1.1516666823668786,0.11729473186219931
|
||||
2020-02-06,1.1577282806096219,1.2199844255344168,1.1629328914230879,0.1178542214000958
|
||||
2020-02-07,1.1537281271596571,1.2108667382965952,1.1507328444594875,0.12191828262069246
|
||||
2020-02-08,1.1692835730858917,1.2005025310124493,1.1151541642382754,0.12457818641843796
|
||||
2020-02-09,1.1919668653879631,1.2198402911308477,1.1186168740068323,0.127578616159381
|
||||
2020-02-10,1.1928488801117072,1.2301072065077974,1.1002903004732305,0.17395795170841832
|
||||
2020-02-11,1.1655878985554617,1.2630467330117316,1.0765044535602653,0.18134000110742077
|
||||
2020-02-12,1.1819220888988407,1.252233090663622,1.0685134162077423,0.2069576836007362
|
||||
2020-02-13,1.2051655299106299,1.2727144276434825,1.0952376144030738,0.21757943135536145
|
||||
2020-02-14,1.1630851464386232,1.32482490333701,1.0802690129905055,0.22080516417558
|
||||
2020-02-15,1.1467354653830693,1.3020387895317278,1.0732991680664263,0.2246416403749116
|
||||
2020-02-16,1.1383471887580776,1.3137746751723582,1.0387338079814246,0.2250781884637397
|
||||
2020-02-17,1.1103773042013345,1.339470245723512,1.0028362328380314,0.2319505028795682
|
||||
2020-02-18,1.0734165165514697,1.3427623639089172,1.0424779786809037,0.23394852038131905
|
||||
2020-02-19,1.113218756875525,1.4013943415047097,1.0561029872053347,0.23562256743645482
|
||||
2020-02-20,1.1071272883991254,1.4541633632206468,1.057236795132449,0.2506012730602552
|
||||
2020-02-21,1.105724295358014,1.4401036704211707,1.0483308464436794,0.25201524074539905
|
||||
2020-02-22,1.0993215352651164,1.444722748437034,1.089531331294008,0.2524740991954332
|
||||
2020-02-23,1.0932176054208576,1.4600263643757259,1.0792794931408676,0.25286420552167327
|
||||
2020-02-24,1.0587243077330883,1.4486161918765983,1.1104674454138383,0.25445107106535625
|
||||
2020-02-25,1.0620148726350802,1.424154391889335,1.0773223233839628,0.2569377491253046
|
||||
2020-02-26,1.0315209557997354,1.4164177419504707,1.0739795914770394,0.2595023947775753
|
||||
2020-02-27,1.0408864320197757,1.4801992864018505,1.1116443448045423,0.26088024547790445
|
||||
2020-02-28,1.0376663474071368,1.4887160430931639,1.1356346930253116,0.26348140088347216
|
||||
2020-02-29,1.0467208549192988,1.5173215466718972,1.107889288405897,0.2642320286926164
|
||||
2020-03-01,1.0207093385614623,1.5412863838442494,1.122015128887988,0.2696751096472305
|
||||
2020-03-02,1.037525121662198,1.5581551034870829,1.1309415361145174,0.2746277237987294
|
||||
2020-03-03,1.0248401372030551,1.5458008902947487,1.1345250503379347,0.276759867831347
|
||||
2020-03-04,1.0258486982695476,1.559046676440168,1.1400009349876374,0.28962530774736817
|
||||
2020-03-05,1.002432979064144,1.5755262943159305,1.1318408085437592,0.2952623175828989
|
||||
2020-03-06,1.012488554893676,1.5756485592282499,1.111311254937364,0.29810237891160546
|
||||
2020-03-07,1.0117961369959636,1.5773954804385641,1.11650214408987,0.3006270600511418
|
||||
2020-03-08,1.015909711457398,1.610322754539839,1.0839244099353011,0.30209359220406284
|
||||
2020-03-09,1.0601538083004134,1.641502594941999,1.1109289188088738,0.3084158226632153
|
||||
2020-03-10,1.077941802984011,1.6317374964162892,1.0963222783091267,0.3094796037573752
|
||||
2020-03-11,1.1260532732244515,1.6490931415766832,1.0936697895045775,0.3099120345112846
|
||||
2020-03-12,1.110425622953289,1.6984993918604234,1.1216131487616146,0.3107492140216191
|
||||
2020-03-13,1.0856390325998322,1.6757575671134193,1.1309905076439204,0.3127434128908777
|
||||
2020-03-14,1.086150833705044,1.7073637516801137,1.1323850834053195,0.3141475455207612
|
||||
2020-03-15,1.0776810151747587,1.6393961270334048,1.110184175943251,0.3153838542164429
|
||||
2020-03-16,1.053414211346851,1.6332378686087843,1.1075827734284756,0.31950179103149373
|
||||
2020-03-17,1.0357752542856478,1.6461573919889079,1.1148804108874288,0.3230351913660134
|
||||
2020-03-18,0.9882913088675116,1.6616420864028898,1.092897650763299,0.3295140538669318
|
||||
2020-03-19,0.9915459150909369,1.694505495048448,1.106224258642294,0.33442088687680743
|
||||
2020-03-20,0.9677329692322276,1.7011229906107403,1.1389107240383651,0.3352960661280704
|
||||
2020-03-21,0.9645668876148116,1.7509973638490954,1.1131190034356908,0.3371362857767921
|
||||
2020-03-22,1.009732918005037,1.7555981219117516,1.1097518910234518,0.34335410114824333
|
||||
2020-03-23,1.0029827116571677,1.7743131674956232,1.142290844824632,0.34723501348161845
|
||||
2020-03-24,0.9940867326226467,1.8231853913696645,1.1557981350878588,0.3643581466680069
|
||||
2020-03-25,0.9698510310554863,1.7593514459496427,1.1623510025356016,0.36688201971510703
|
||||
2020-03-26,0.9783694635515997,1.7587696051447823,1.1324509088625785,0.367345994699916
|
||||
2020-03-27,0.9535087219102177,1.7401060630906493,1.154405728070701,0.37027766558879577
|
||||
2020-03-28,0.9418042827123154,1.7538896088257767,1.137007812796809,0.3708727657834398
|
||||
2020-03-29,0.96810433350236,1.760480911558011,1.1305910909597376,0.3725369987816818
|
||||
2020-03-30,0.974808825820155,1.752151672427521,1.1502789106909035,0.3744820967547409
|
||||
2020-03-31,0.9797504957740842,1.798575628301122,1.1535167565595437,0.37639871046291373
|
||||
2020-04-01,0.9628955439898036,1.827407571913591,1.1544205314866829,0.3799940149129052
|
||||
2020-04-02,0.9754932364091347,1.8232947962202877,1.1564781737474252,0.38034404689313944
|
||||
2020-04-03,0.9873275891659168,1.7946562572896825,1.1849738887150674,0.3864074719660551
|
||||
2020-04-04,1.0108288103468548,1.7973517877152347,1.1801579800154647,0.3901233102314478
|
||||
2020-04-05,0.9736148567642324,1.8044247058734397,1.1850774038437282,0.3917694853658946
|
||||
2020-04-06,0.9653399776332667,1.8169983102180662,1.1616633135761323,0.3924900453927962
|
||||
2020-04-07,0.962409208328386,1.8141745618144531,1.178300401559042,0.3931171173402186
|
||||
2020-04-08,0.9628876392544286,1.9084553610072685,1.1641229279184822,0.3968013538209139
|
||||
2020-04-09,0.9333697175902921,1.9025819037665186,1.1717578731799263,0.39766086795338756
|
||||
2020-04-10,0.9143682378409272,1.8949236599105557,1.156556367606632,0.3996420215008127
|
||||
2020-04-11,0.895385718148122,1.9343903671704854,1.188574497939751,0.401212865147451
|
||||
2020-04-12,0.8740743938425345,1.942691462578191,1.211134163737765,0.40297466109168184
|
||||
2020-04-13,0.8380660562735384,1.8612114156206194,1.253856740874506,0.4211446222095411
|
||||
2020-04-14,0.8520114930850722,1.8606048835295306,1.275827191139803,0.42166033427879707
|
||||
2020-04-15,0.8516344906028086,1.8683539523097044,1.2518731047748375,0.42206667980265944
|
||||
2020-04-16,0.835552610602664,1.792725972711403,1.2793659536199955,0.42433474858566045
|
||||
2020-04-17,0.833052910582975,1.758248128204534,1.2561704403633422,0.4252241763854585
|
||||
2020-04-18,0.8392859957724058,1.7337610362834268,1.2786915765601048,0.4275722984496844
|
||||
2020-04-19,0.8746610758965373,1.6954668619732205,1.2678897090741965,0.4305271478114172
|
||||
2020-04-20,0.878673788351075,1.713805058565187,1.2502906968207468,0.4317764713835109
|
||||
2020-04-21,0.8767535247546682,1.7632021018354378,1.2663055769932812,0.43230259029918405
|
||||
2020-04-22,0.8770307343047253,1.789303994954698,1.2449466921867858,0.43591681913479735
|
||||
2020-04-23,0.8688819247505064,1.7801178820506536,1.247319180623821,0.43714779785266344
|
||||
2020-04-24,0.8712572077489298,1.8126629459732946,1.1785850108864557,0.4393666393556777
|
||||
2020-04-25,0.8752019965989468,1.7826892137128605,1.1619577030622186,0.44222079826215926
|
||||
2020-04-26,0.8738342993845689,1.7692676011973314,1.1772604709486858,0.4467959023170046
|
||||
2020-04-27,0.8597736281199799,1.816336026575841,1.2207076138026107,0.45138050497008525
|
||||
2020-04-28,0.8281893226773166,1.7791160644096362,1.204458594661689,0.4546959458841382
|
||||
2020-04-29,0.836203177555408,1.7935299496511174,1.2244487110001496,0.45519430839431474
|
||||
2020-04-30,0.8433768320154121,1.8021267508275394,1.2186995964505196,0.456487714432498
|
||||
2020-05-01,0.8610574283159262,1.8179880490122236,1.211596391706884,0.5032677683170869
|
||||
2020-05-02,0.8348339155837669,1.8329762133715592,1.232334831194072,0.5061044878931531
|
||||
2020-05-03,0.8294266411564094,1.7470937459849967,1.223432738495758,0.5105113908002137
|
||||
2020-05-04,0.8405262716109546,1.7492904866442132,1.2037649543745659,0.5130162377726127
|
||||
2020-05-05,0.8639276597819987,1.8076326060564027,1.1787876114922382,0.5144834231314999
|
||||
2020-05-06,0.8706715188631232,1.8152317063308048,1.1898508286284304,0.5163417466277547
|
||||
2020-05-07,0.8932902477660367,1.8248944901012816,1.1745421075877225,0.5253116053925546
|
||||
2020-05-08,0.9292530093247632,1.8666259242266827,1.1888858396446627,0.5261093638134726
|
||||
2020-05-09,0.914099566383566,1.8535959293626267,1.2058210197303287,0.5275315455348729
|
||||
2020-05-10,0.9008725520848793,1.8596853538255091,1.155408426884541,0.5286975757051593
|
||||
2020-05-11,0.9003979758283102,1.928069431657337,1.2107378814039818,0.5325518241586814
|
||||
2020-05-12,0.8900230757659284,1.8875159123214997,1.1839027235470037,0.5337608887621328
|
||||
2020-05-13,0.9006958785299365,1.9123856010771008,1.195637404491816,0.5348093389633294
|
||||
2020-05-14,0.9036296113002158,1.9097025948365052,1.198912413792671,0.5376854931262441
|
||||
2020-05-15,0.9075433132199904,1.9846404281453107,1.2343851890405675,0.5437445517365902
|
||||
2020-05-16,0.8848998045208422,1.9618337635732597,1.2117440383193852,0.5450930567159439
|
||||
2020-05-17,0.8830579864449316,1.913198176076837,1.2130085537858446,0.5520390802990911
|
||||
2020-05-18,0.8846769581394759,1.9632588698129179,1.2071416880612174,0.5544325112904755
|
||||
2020-05-19,0.9154201534517433,1.9835102422036717,1.1753609106428433,0.5583256085292775
|
||||
2020-05-20,0.9344135262197314,1.9683606589154659,1.1673976905013788,0.560208080529156
|
||||
2020-05-21,0.9732143169767573,1.93602343463149,1.17798079610132,0.5616098967643237
|
||||
2020-05-22,0.9730686691285166,1.9286876318079815,1.2185774476851847,0.5638831776794241
|
||||
2020-05-23,0.9878609570461825,1.9436075518434304,1.1970035409307191,0.5642855262406092
|
||||
2020-05-24,0.9963683545647176,1.9689072056752608,1.2300920949665672,0.5658770969529832
|
||||
2020-05-25,1.0018174257470982,1.9807455978731525,1.2863295043597427,0.5670664570002988
|
||||
2020-05-26,1.0323794656420129,1.986433207227409,1.2820608514026766,0.5689351200686489
|
||||
2020-05-27,1.0591764088147717,2.018300990083014,1.3087971163195562,0.5791493210849563
|
||||
2020-05-28,1.0543565899384209,1.9630661666978968,1.3372792287811608,0.5833566476963967
|
||||
2020-05-29,1.0419595558177785,1.898840299065144,1.3293907653782013,0.5842304945675731
|
||||
2020-05-30,1.0414202992577273,1.882316871058859,1.3291038297915918,0.5860386077339174
|
||||
2020-05-31,1.0572880297659135,1.904557874358223,1.306170615874509,0.5882642097939847
|
||||
2020-06-01,1.0520606263574148,1.8445426749048743,1.3339942892029724,0.5900023274500287
|
||||
2020-06-02,1.0659722213586111,1.8570302564383951,1.3558757821530338,0.5909020647119387
|
||||
2020-06-03,1.0656039525363368,1.8743014801338014,1.372185688108781,0.5920474859439436
|
||||
2020-06-04,1.0358577638256254,1.930773225339492,1.3526282848180564,0.5944853954946582
|
||||
2020-06-05,1.0089333673953484,1.9898046345316736,1.3628178046315713,0.5956210659548
|
||||
2020-06-06,1.0196919399093973,2.021669352765277,1.3859341395415308,0.5964508371820592
|
||||
2020-06-07,1.021781040273442,1.9723469958642448,1.3787384116005414,0.5989637695603802
|
||||
2020-06-08,1.0216307354401244,1.9143159472475906,1.3569619025531028,0.5997279251321306
|
||||
2020-06-09,1.0252951525306686,1.9635205225043117,1.3878055537360765,0.6008055961191918
|
||||
2020-06-10,1.0569657982856673,2.0338306423545314,1.4099079973949116,0.603045804651097
|
||||
2020-06-11,1.0587301242900011,1.9782634334719158,1.3977391153857357,0.6150561437971321
|
||||
2020-06-12,1.0714306810044087,1.9771940498211433,1.4206170585270756,0.6179519882991029
|
||||
2020-06-13,1.0522387861832565,1.9728414295620897,1.3762378861610598,0.6207784844352121
|
||||
2020-06-14,1.0475181490250334,1.9522977210035048,1.3788453761592088,0.6273159598727789
|
||||
2020-06-15,1.0234072353225911,1.940233262776903,1.412147349198787,0.6279621706403626
|
||||
2020-06-16,1.0189227881643945,1.9399345009150732,1.4200695913506778,0.6299345113347883
|
||||
2020-06-17,1.001028085535756,1.9674301947596378,1.4196530534097238,0.6354196210129143
|
||||
2020-06-18,0.9912641618976554,1.9251588499668064,1.4343893896623496,0.6358630075674107
|
||||
2020-06-19,0.9805087526933827,1.9994200883931081,1.4158425001018318,0.6406732231437341
|
||||
2020-06-20,1.009464040256068,2.0493123790500967,1.4486299245023713,0.6424250037998596
|
||||
2020-06-21,0.9952585976409621,2.0769530516397676,1.4478176424803664,0.644099320786275
|
||||
2020-06-22,0.9855112363074202,2.154240810255652,1.4728892769819055,0.65280314288818
|
||||
2020-06-23,1.0073268728636948,2.250014679802232,1.4336431865428896,0.6537610284791265
|
||||
2020-06-24,1.0066322355863426,2.2249349095517776,1.456538552996501,0.6642644900169009
|
||||
2020-06-25,0.9575855268333074,2.2522471079270177,1.4489673649411032,0.6662331802982429
|
||||
2020-06-26,0.9337977450912275,2.2473360044363764,1.4219169403245642,0.6712327430274364
|
||||
2020-06-27,0.9382604578618755,2.212321320270245,1.4158204261628429,0.6718141645698742
|
||||
2020-06-28,0.9465411154535147,2.2052582536214502,1.4301201853242347,0.6748761659021221
|
||||
2020-06-29,0.9676702771137915,2.2248062051288153,1.4205700210255783,0.6777010977843823
|
||||
2020-06-30,0.9730242802452448,2.2246965725926624,1.431301037561824,0.6810713167270627
|
||||
2020-07-01,1.0168182246966204,2.1805611732536536,1.413869125858902,0.6854507253006858
|
||||
2020-07-02,0.9884133039324408,2.1187033637482977,1.4585566422685736,0.6914250722668893
|
||||
2020-07-03,0.9585398824348965,2.2376378185309136,1.470639941407874,0.6981504848050071
|
||||
2020-07-04,0.9595913158376671,2.3120006109496005,1.4819897523145185,0.701585449803921
|
||||
2020-07-05,0.9757235638340338,2.2774986228750245,1.4960258331955485,0.7149469105534326
|
||||
2020-07-06,0.9827376276758062,2.2843900590421717,1.4898515668154009,0.7170969248236969
|
||||
2020-07-07,0.948286988931661,2.3596790863844497,1.4884166060259274,0.7200363865166225
|
||||
2020-07-08,0.95983945474466,2.3428537030368135,1.4814014755271234,0.733944628256304
|
||||
2020-07-09,0.9887179191768426,2.334739011274857,1.4816150241435395,0.7505784071243449
|
||||
2020-07-10,0.9802149969178717,2.3289077061155044,1.5012839517690568,0.7542827121165976
|
||||
2020-07-11,1.0111801099245266,2.3762608242412484,1.4822256204365474,0.7577808445549317
|
||||
2020-07-12,0.9908774679553789,2.338739493642145,1.4968229686233339,0.7581841098807811
|
||||
2020-07-13,1.0150580794369408,2.3904389954640255,1.5178366494862991,0.7590465695525171
|
||||
2020-07-14,1.0261743177955382,2.3420718549672097,1.5061115657909745,0.7639942976386366
|
||||
2020-07-15,1.0133960284012418,2.285218813106673,1.5284744513591788,0.7658450238084406
|
||||
2020-07-16,1.0033585655883903,2.2916211474658827,1.5526985398838336,0.7668377473401666
|
||||
2020-07-17,1.0214254580426407,2.284796272086247,1.5683537788630093,0.773666458664223
|
||||
2020-07-18,1.0258147735393117,2.326074282269038,1.5819812060864555,0.7741125330133553
|
||||
2020-07-19,1.0277799488903645,2.313494157425774,1.5255583651924847,0.7826372141983156
|
||||
2020-07-20,1.0250278191733373,2.278818786219646,1.54493640675825,0.7849066005951117
|
||||
2020-07-21,1.0257995914283937,2.292032861748544,1.5695257884532219,0.7905005243387364
|
||||
2020-07-22,1.0267879097412553,2.3357189250696235,1.6379610352759344,0.7927312499590004
|
||||
2020-07-23,1.0389261663290388,2.2745381792837516,1.6741344875394764,0.7932923787420468
|
||||
2020-07-24,1.0090611425619138,2.27252655110798,1.6670325422686327,0.800327607061777
|
||||
2020-07-25,1.0111313862047133,2.279455373088168,1.6518090188831573,0.8014076085285011
|
||||
2020-07-26,1.0067105716491014,2.337111200552414,1.6158039012294794,0.8029224068101758
|
||||
2020-07-27,0.9943272432378184,2.344620817213409,1.6592134355369355,0.8044242114850151
|
||||
2020-07-28,0.9771854889328592,2.3668944985219684,1.6834148760009815,0.8067735795987538
|
||||
2020-07-29,0.987198955879071,2.365490030794681,1.6573657588652606,0.8085471775881818
|
||||
2020-07-30,0.9888543540371442,2.4186434653114315,1.6948554904645168,0.8093127338406706
|
||||
2020-07-31,0.9842301412324337,2.439618652810949,1.6977441737817598,0.8150204456713851
|
||||
2020-08-01,0.965140237243522,2.3770419232099975,1.7130192709673837,0.820727682415597
|
||||
2020-08-02,0.9584029809666005,2.391147596111345,1.7102510175672765,0.8230434914696654
|
||||
2020-08-03,0.9759006091717436,2.316994177690388,1.677597065066447,0.8235096815101353
|
||||
2020-08-04,0.9501373549633251,2.3234590665120716,1.719964069915885,0.8300941688326845
|
||||
2020-08-05,0.9604065612739537,2.330382213682331,1.7245154724647795,0.8330687581297908
|
||||
2020-08-06,0.9763594060576909,2.299066090311157,1.7136462533090864,0.8353346614561531
|
||||
2020-08-07,0.9825778589100209,2.3206391377668742,1.7352866357509227,0.8405502317307677
|
||||
2020-08-08,1.002223311947791,2.3345124788636893,1.7789867378872073,0.848667172533915
|
||||
2020-08-09,0.9741775954468116,2.324104123933205,1.7881689205814137,0.8492059663380161
|
||||
2020-08-10,1.0023146422045273,2.3808768331064356,1.8032339491973044,0.8504486714663375
|
||||
2020-08-11,1.041041647377543,2.3125012385662798,1.8030267541146656,0.8506876858913054
|
||||
2020-08-12,1.0503909012329131,2.2980280882739854,1.814121400862128,0.8546087121913079
|
||||
2020-08-13,1.0569775764121196,2.3306666186256813,1.8310081827506195,0.8662994428865795
|
||||
2020-08-14,1.0610751998772194,2.3363040378262765,1.8097627942752057,0.8678325823246228
|
||||
2020-08-15,1.0587074374476746,2.284354698047326,1.78066771262294,0.8703173049285419
|
||||
2020-08-16,1.0302801853601309,2.2446697828141073,1.7874584634073543,0.8801515329571722
|
||||
2020-08-17,0.9883894003639239,2.3008989810868967,1.834774742181476,0.8882193510501148
|
||||
2020-08-18,0.9965310714959245,2.2772715399838837,1.8060015128893778,0.8903683125160616
|
||||
2020-08-19,0.9922031367470385,2.3985652088118314,1.8263341549540526,0.8988293192841955
|
||||
2020-08-20,1.0278693248798119,2.401476749244662,1.8651570576166208,0.8996447236089339
|
||||
2020-08-21,1.0307882824097563,2.4298134048782725,1.8874087431140567,0.9029573621962058
|
||||
2020-08-22,1.0330844780268693,2.5244338157761654,1.8877290724454998,0.9037817003330142
|
||||
2020-08-23,1.0307265586558383,2.41630656700321,1.96601286697562,0.905290251932482
|
||||
2020-08-24,1.076840824462609,2.5079409618888984,1.9931871139673032,0.9072579650740121
|
||||
2020-08-25,1.0642272088309062,2.4408526399836687,1.9102886541833064,0.9125308220473051
|
||||
2020-08-26,1.064986098507313,2.4741390097786224,1.9360680365863485,0.9176898336714856
|
||||
2020-08-27,1.0461636798460097,2.4800899394650915,1.906140707374937,0.92212480176119
|
||||
2020-08-28,1.063683537843083,2.452096428706089,1.8881021305991181,0.9253155271734814
|
||||
2020-08-29,1.0398601013283904,2.483553938997862,1.8943904930876099,0.9391703700917097
|
||||
2020-08-30,1.0503472744755464,2.5142671696226375,1.9286179775958903,0.9399395481270428
|
||||
2020-08-31,1.055469538934899,2.3986857123937475,1.8901320637279218,0.9417255088015568
|
||||
2020-09-01,1.103704230856668,2.4178944247065166,1.905143584657302,0.9429029942886286
|
||||
2020-09-02,1.0766389180345612,2.4034828942230027,1.9092635728505407,0.9533946056060972
|
||||
2020-09-03,1.097258004052795,2.3774517687052756,1.9709450781059117,0.9539742648075353
|
||||
2020-09-04,1.1083404943935347,2.3690200841752365,1.9654370007435749,0.9550537111541527
|
||||
2020-09-05,1.1202557945126657,2.3123747748020107,1.9676260548319016,0.9577583689599201
|
||||
2020-09-06,1.1342844694618273,2.2983710604071907,2.007218107882284,0.9611411682535353
|
||||
2020-09-07,1.1117651443837437,2.282342396269001,2.0665421477842556,0.9656206307046505
|
||||
2020-09-08,1.108258511313643,2.190755615666369,2.0715962187251686,0.9723784553998674
|
||||
2020-09-09,1.1113533876662005,2.2591635505601655,2.166177533441628,0.97616171542827
|
||||
2020-09-10,1.105488663733078,2.3239537844119202,2.1034191507163205,0.9771250074759058
|
||||
2020-09-11,1.1039642088212858,2.2641895522206923,2.081607237299805,0.9864870215008484
|
||||
2020-09-12,1.1185770391430765,2.2546066083105702,2.047143847752991,0.988477465020745
|
||||
2020-09-13,1.0628005734560901,2.2899804484534214,2.073500906870503,0.9948467554922771
|
||||
2020-09-14,1.0891822636651172,2.3070774686351068,2.1414893899122434,1.002187845607817
|
||||
2020-09-15,1.0962564434820237,2.276193543449068,2.2463275307813237,1.0032217115443585
|
||||
2020-09-16,1.1115531181137768,2.274219345565829,2.2357721025416546,1.0043792081936727
|
||||
2020-09-17,1.0859584169888061,2.2752096704885765,2.201605853297032,1.0093393608511672
|
||||
2020-09-18,1.146245860222447,2.282190388787204,2.1606408678853812,1.0123463768773904
|
||||
2020-09-19,1.1537778222934165,2.2253933387650817,2.0903069722471477,1.020003702924207
|
||||
2020-09-20,1.149390714927409,2.16159784585839,2.073014099305851,1.0220680452699864
|
||||
2020-09-21,1.1541331367221972,2.130893491509205,2.0458377760738213,1.0396518237179782
|
||||
2020-09-22,1.1498129074160868,2.0926609204347097,2.0541372762601307,1.0409175842445701
|
||||
2020-09-23,1.1446406343043778,2.1187642077264566,2.0509299468172397,1.0418509181037665
|
||||
2020-09-24,1.1700927924576903,2.091529617399207,2.05527559437275,1.0441420349922215
|
||||
2020-09-25,1.1838819765686315,1.984742627815592,1.9811476915854611,1.0524944862588175
|
||||
2020-09-26,1.184236071270645,1.986599749963918,2.0437484329144597,1.0539827163149076
|
||||
2020-09-27,1.1872652432410737,1.9923360376683188,2.0595813348935597,1.056606955810706
|
||||
2020-09-28,1.2111686025938448,2.0269520976346267,2.0885116021757817,1.0637811330951055
|
||||
2020-09-29,1.2128187476172962,2.008974500012182,2.1412710103887522,1.06704093548368
|
||||
2020-09-30,1.1837228636173038,1.9414782887063273,2.1037135913846106,1.0700352393561359
|
||||
2020-10-01,1.2012784798748297,1.9207662270192438,2.1904585636141896,1.072285071441802
|
||||
2020-10-02,1.229928289695723,1.926246724868972,2.164058954726515,1.0749903591448788
|
||||
2020-10-03,1.2576720294059205,1.9050928318638212,2.240899882087869,1.0772598449622313
|
||||
2020-10-04,1.259111975610874,1.9081145172437455,2.17868462965396,1.0790982068698378
|
||||
2020-10-05,1.214480304726046,1.9296654214009312,2.191037732205339,1.0799573343473532
|
||||
2020-10-06,1.2367119988436592,1.9930332488883804,2.1579497222077135,1.0894433635430334
|
||||
2020-10-07,1.1918461991333509,1.9366558570031924,2.1786587345427613,1.0929286737055888
|
||||
2020-10-08,1.2047382866267797,1.9700566515518636,2.2589719642075976,1.093509097146584
|
||||
2020-10-09,1.1955393840662745,1.9858037585074446,2.3163382795183165,1.0957275047277277
|
||||
2020-10-10,1.1867078724647688,2.0718447898888432,2.295617357121811,1.0970848927362957
|
||||
2020-10-11,1.207258078161285,2.0397735976409117,2.308352241653706,1.1031996811027127
|
||||
2020-10-12,1.2495117298527116,2.0519212522973787,2.358790991672946,1.104976811517453
|
||||
2020-10-13,1.2341412949594146,2.0094725225776973,2.3420936881844754,1.1185499443882925
|
||||
2020-10-14,1.2074457000680026,2.031792948771168,2.344083278864812,1.1200324757830094
|
||||
2020-10-15,1.220685304663726,2.016528400615362,2.308499703000712,1.1210530992163392
|
||||
2020-10-16,1.2319782138752637,2.033347365968653,2.3700021947604704,1.1356783068906011
|
||||
2020-10-17,1.2439887627555841,2.0766664578138805,2.4031351237219822,1.1374256499103375
|
||||
2020-10-18,1.258781393604108,2.105837478503288,2.3539787387736784,1.140862883538152
|
||||
2020-10-19,1.2792088654733011,2.163539707503391,2.402843392203179,1.1842957188393533
|
||||
2020-10-20,1.3144972047916126,2.111218248768162,2.4317077899697415,1.187223117766127
|
||||
2020-10-21,1.3280614214950373,2.1331589617090265,2.4163946030048042,1.1913137320144667
|
||||
2020-10-22,1.3387862074636503,2.107535080984876,2.368341209224261,1.194596165781971
|
||||
2020-10-23,1.3970068606474848,2.098383962783049,2.3540653842863253,1.1953094065118848
|
||||
2020-10-24,1.3950098407949878,2.1082489951221866,2.3878235750331687,1.1960562746315428
|
||||
2020-10-25,1.3683339090881992,2.1347223329261586,2.444757578755241,1.196971813667161
|
||||
2020-10-26,1.3597019290012515,2.132377251897591,2.550425021636159,1.1999538998132655
|
||||
2020-10-27,1.3252947022819863,2.110245072482122,2.5552854101958564,1.2460468434315568
|
||||
2020-10-28,1.350487359981082,2.1397843817490836,2.5033398105082383,1.2474069077322734
|
||||
2020-10-29,1.3532600119165674,2.104690167136623,2.4389435031573834,1.2544441138139752
|
||||
2020-10-30,1.370837466174858,2.054318178776854,2.3920591012804757,1.2575027402817323
|
||||
2020-10-31,1.436223081156546,2.119259500400969,2.327329785335115,1.2582356054099209
|
||||
2020-11-01,1.4339919936925012,2.1197163872917955,2.274828703304184,1.261388638872427
|
||||
2020-11-02,1.4422260672799314,2.1189832379676115,2.2351746919209416,1.267817347384253
|
||||
2020-11-03,1.4412699885652236,2.1027043143687516,2.2367901934335976,1.2817313772420904
|
||||
2020-11-04,1.419078208431615,2.1186752487054545,2.2135435667771803,1.2826957437003348
|
||||
2020-11-05,1.4384833276499038,2.0791707635930976,2.275386102582254,1.2889125409230113
|
||||
2020-11-06,1.397384185555799,2.018337080228104,2.2540174817473213,1.2891166579242537
|
||||
2020-11-07,1.4064626040344346,2.025141230630807,2.268675318606333,1.2914058011100833
|
||||
2020-11-08,1.390685803984185,2.0232486822523024,2.308631854848098,1.3061809174297856
|
||||
2020-11-09,1.3874874292995236,2.0714609249336666,2.2607000982157266,1.3070563693566266
|
||||
2020-11-10,1.3746878172998056,2.0837537678684472,2.2944440648182702,1.3114511900232557
|
||||
2020-11-11,1.3866512589572233,2.022117555885239,2.343260191406187,1.3149800302385661
|
||||
2020-11-12,1.3462517758485009,2.0294367203043713,2.3824104193365976,1.3182725372000237
|
||||
2020-11-13,1.3312751205259583,2.0035421855998568,2.4281997461920106,1.3216683285938853
|
||||
2020-11-14,1.3776766696563165,1.9232503097525762,2.4711215390402788,1.3244142233923455
|
||||
2020-11-15,1.366983297010691,1.9501873783889447,2.4544562234099843,1.3263463197175802
|
||||
2020-11-16,1.3597793148515092,1.996652165598607,2.528060405706684,1.327109604231372
|
||||
2020-11-17,1.3164281793115369,1.9423313390033174,2.6558357255967935,1.3313585124923695
|
||||
2020-11-18,1.3317846715448027,1.899596306016603,2.5992253259505036,1.3328689868089256
|
||||
2020-11-19,1.2902989563375766,1.8806147463941172,2.5515950944407972,1.3337422662350422
|
||||
2020-11-20,1.2749496031828011,1.8986996205516706,2.530436419305703,1.337173285028032
|
||||
2020-11-21,1.2434267658113127,1.904706777775782,2.5108927102295926,1.3446241059773827
|
||||
2020-11-22,1.2706429172588554,1.870104994476517,2.590074707794605,1.3469166244396142
|
||||
2020-11-23,1.2828191519336423,1.936549753732673,2.650096538165582,1.3490808275610164
|
||||
2020-11-24,1.3041379804862103,1.9348274686464317,2.627959424025244,1.3556184171933339
|
||||
2020-11-25,1.2987110107751347,1.8670997186862426,2.6316490214502246,1.3570177935958085
|
||||
2020-11-26,1.3269329819747593,1.8424779259913635,2.6388179194852506,1.3614280845340117
|
||||
2020-11-27,1.3152746770511103,1.8689955585211881,2.5686740839364846,1.364075927386591
|
||||
2020-11-28,1.3506954933107598,1.933073473149457,2.5947787360090837,1.373337402945247
|
||||
2020-11-29,1.3386361921791448,1.952838059952042,2.606648540927484,1.383557305443774
|
||||
2020-11-30,1.3618661935526004,2.0103250717243943,2.569802850158569,1.385963521814751
|
||||
2020-12-01,1.3956760399952601,2.052104646425733,2.5104994197308232,1.3877380840292992
|
||||
2020-12-02,1.392074385575624,2.0675494523563653,2.4855662070763356,1.3882444898984934
|
||||
2020-12-03,1.3819273790411657,2.093861994727276,2.4218083511035546,1.3890153699132768
|
||||
2020-12-04,1.4051363849106822,2.1709975111798006,2.371715986075685,1.3905562618256002
|
||||
2020-12-05,1.423109636717845,2.185225636169727,2.34109872040913,1.3907666382352197
|
||||
2020-12-06,1.4376836310550631,2.2230317694679256,2.3462328897020717,1.3939039559474664
|
||||
2020-12-07,1.526458472596805,2.1939381251150776,2.2648766180102133,1.4179149064159244
|
||||
2020-12-08,1.534007078003753,2.193890689106934,2.2376062578363416,1.4196537486195773
|
||||
2020-12-09,1.570120782220947,2.2521993496418387,2.323667673355853,1.4249394046116775
|
||||
2020-12-10,1.5739401045905157,2.2315715860387604,2.3112442787438057,1.429057781752709
|
||||
2020-12-11,1.5429616014165604,2.2591477950980847,2.2728118259357966,1.4308906056337822
|
||||
2020-12-12,1.5732341553653304,2.2032364263265896,2.229900385192739,1.4315477095379219
|
||||
2020-12-13,1.6286821951906507,2.1830978776161025,2.27740619343844,1.432422980432231
|
||||
2020-12-14,1.6469441508431684,2.1425076576757647,2.2352616823269775,1.443150704680311
|
||||
2020-12-15,1.5718020183057722,2.071913884488913,2.149424018035347,1.4445448113886517
|
||||
2020-12-16,1.5773081091715446,2.0638551560909177,2.1623471099672655,1.4451790340857336
|
||||
2020-12-17,1.5227909565144766,2.017921609850533,2.1672842000162413,1.4455625396386613
|
||||
2020-12-18,1.4891923221477237,1.9897836257363233,2.176754748496434,1.4526568222617808
|
||||
2020-12-19,1.484870487634522,1.951277912733069,2.134627098999995,1.4601245726602683
|
||||
2020-12-20,1.5217824616975881,1.951983033258623,2.17789187274426,1.4788068110669847
|
||||
2020-12-21,1.5544320141058037,1.8493659165896748,2.18099167487275,1.523962349286215
|
||||
2020-12-22,1.560503809998861,1.8611679736818592,2.2039993620760967,1.5246976088013537
|
||||
2020-12-23,1.5334971041093952,1.8330024279320971,2.3434762483076366,1.527360584807129
|
||||
2020-12-24,1.5794099876243317,1.9041534697937854,2.2901173676907534,1.5297409708066323
|
||||
2020-12-25,1.6065679801493142,1.9070647217180154,2.2919709432518562,1.5335846648050422
|
||||
2020-12-26,1.622247941424142,1.8928074424100145,2.3030020062181626,1.5352743389100947
|
||||
2020-12-27,1.7015908691024357,1.8482200241927493,2.2483812615718852,1.5383112052039312
|
||||
2020-12-28,1.6036866430723407,1.843769090979501,2.2314604816282477,1.5386363487762145
|
||||
2020-12-29,1.5375202384191342,1.8206896498491538,2.3074157180169994,1.5408157927481176
|
||||
2020-12-30,1.5600630935461406,1.7826799832793585,2.2825395987056125,1.5422252257198634
|
||||
2020-12-31,1.5104147622873492,1.7668565507355858,2.27695238139297,1.5440584612014132
|
||||
2021-01-01,1.5712035235637756,1.6846162848808761,2.233309322045018,1.5448667333098565
|
||||
2021-01-02,1.6210547964842792,1.7478151353494071,2.1574629701979298,1.548120419402096
|
||||
2021-01-03,1.6289254690471857,1.725836388519887,2.108581903630744,1.548817479707807
|
||||
2021-01-04,1.638734525965505,1.7155157917378676,2.044927121863865,1.5563047235141108
|
||||
2021-01-05,1.640752183801373,1.7799282303924182,2.016488033588845,1.5608661127582808
|
||||
2021-01-06,1.6570539499992365,1.739493941093581,2.0124389592880645,1.5631898777829367
|
||||
2021-01-07,1.578187832496174,1.6930194751764869,1.9445270476899645,1.5639680296502423
|
||||
2021-01-08,1.6227999393024517,1.7194595600353992,1.9401340947207162,1.5688337294998258
|
||||
2021-01-09,1.6283589854096432,1.7136349981154348,1.9080431172050114,1.5723522942035664
|
||||
2021-01-10,1.6665194133108947,1.7489061066079215,1.9509162559238367,1.5731664693150271
|
||||
2021-01-11,1.6341803105808728,1.7642624682341135,1.9938916226440977,1.575127738455531
|
||||
2021-01-12,1.6174970779436197,1.7923811797905562,1.9915053276010666,1.5827514383987595
|
||||
2021-01-13,1.615274568253002,1.8107248147139585,2.0359139549100713,1.5991695679580888
|
||||
2021-01-14,1.5705483210122417,1.8110093914349246,2.014040713826075,1.6002182868598922
|
||||
2021-01-15,1.5876924325730104,1.7660637238985082,2.033374626523945,1.6009281154165214
|
||||
2021-01-16,1.5833856066410776,1.8357591587069988,2.0709440693792813,1.6046925481203798
|
||||
2021-01-17,1.6013738886591906,1.76494118939999,2.0959265396433056,1.6061847148507544
|
||||
2021-01-18,1.578239155108473,1.792300094514741,2.1516234015963183,1.6077436031920698
|
||||
2021-01-19,1.537449450971578,1.8410157687393882,2.139618678346696,1.6091465678099
|
||||
2021-01-20,1.5270491611118588,1.9563703647019142,2.135332213061328,1.610305157178482
|
||||
2021-01-21,1.5228490032906876,1.953475585798639,2.1518202462407237,1.6247341328796
|
||||
2021-01-22,1.5407475786564149,2.0017857783766346,2.1879504389166824,1.6285351198690405
|
||||
2021-01-23,1.5329914046131201,2.031064990665913,2.220387841380747,1.629948456185217
|
||||
2021-01-24,1.5445889585878276,2.037409850509285,2.273437555128114,1.638005012705547
|
||||
2021-01-25,1.58644895560336,2.0471656735959542,2.240406426382125,1.638769754048435
|
||||
2021-01-26,1.6226036785791869,2.1083680144317913,2.155101334363854,1.6397391094752487
|
||||
2021-01-27,1.659383192723776,2.1732417729079967,2.252548140759632,1.64633831261166
|
||||
2021-01-28,1.6598891833149922,2.251700342705186,2.2430383173656727,1.655056750637973
|
||||
2021-01-29,1.6645972448464752,2.2182444807709443,2.258702561909861,1.6570632637103349
|
||||
2021-01-30,1.6583800311374666,2.2397181747086874,2.283747790019089,1.6594746246828356
|
||||
2021-01-31,1.6742978776507575,2.28219309133098,2.2449945212007565,1.679216139273793
|
||||
2021-02-01,1.6471122487215286,2.234029135013091,2.3347005588457224,1.6802015595330082
|
||||
2021-02-02,1.6149287680826088,2.1807981297572727,2.4359899638257314,1.686171899377342
|
||||
2021-02-03,1.6227338387550698,2.229245106413431,2.4535999640353876,1.68930490762624
|
||||
2021-02-04,1.672839630544011,2.288932619594801,2.45179858236766,1.6919945407776182
|
||||
2021-02-05,1.7155729521519976,2.313326745666048,2.37670567388363,1.6937145764169974
|
||||
2021-02-06,1.7414517672992007,2.318254663422098,2.387264194297231,1.695671502362838
|
||||
2021-02-07,1.7720413917578024,2.3664809566426888,2.4777721668076382,1.6986218980532843
|
||||
2021-02-08,1.763925697497288,2.237990831118396,2.499873971884452,1.7000766613841363
|
||||
2021-02-09,1.834507869796782,2.41518566629607,2.552919002279553,1.7157291227420661
|
||||
2021-02-10,1.835651382083144,2.3710976045171033,2.440534423653256,1.7163877387355815
|
||||
2021-02-11,1.8413081048813065,2.386345552129277,2.5432022215403247,1.7238816972371116
|
||||
2021-02-12,1.8497654498239466,2.399545791008636,2.5903358390807183,1.7247967038775016
|
||||
2021-02-13,1.885631903086976,2.326373973867991,2.4880432502469323,1.72773524757945
|
||||
2021-02-14,1.891688653528345,2.286846809475968,2.534049403146154,1.7283190673596367
|
||||
2021-02-15,1.879205069976963,2.3153570867912467,2.492408936297317,1.7292851368096562
|
||||
2021-02-16,1.839968824554305,2.4053844983623347,2.4770603822645016,1.731689271152427
|
||||
2021-02-17,1.8680257921782588,2.347633213984071,2.603642282426436,1.7355926511429076
|
||||
2021-02-18,1.8542029059135394,2.325881784724655,2.587474254919851,1.7365009545563135
|
||||
2021-02-19,1.882143268936907,2.3015734011198994,2.509811005142073,1.7374818756270234
|
||||
2021-02-20,1.8962267570181353,2.3243105765928385,2.546148882354917,1.7478063846297487
|
||||
2021-02-21,1.8620055980158459,2.332880010486286,2.522556583215778,1.754398521319979
|
||||
2021-02-22,1.9999575696430385,2.340741505413093,2.4518625833119922,1.755009060962941
|
||||
2021-02-23,2.042402885781202,2.376196948741956,2.3806418250084875,1.7654433572482449
|
||||
2021-02-24,1.9997714207092,2.3921343671989996,2.334373104272601,1.7668196950978072
|
||||
2021-02-25,1.9779708858567182,2.3746610694897172,2.4157404521087895,1.770506460232364
|
||||
2021-02-26,1.9789516205644688,2.3816546761240103,2.3429892024282744,1.7733391454918466
|
||||
2021-02-27,1.93466450603626,2.4461456378944346,2.3065235894018943,1.7831077679253902
|
||||
2021-02-28,1.9834071249674945,2.389894059542642,2.3389660816484548,1.7841591200189595
|
||||
2021-03-01,1.9741337047452883,2.3111236848031838,2.352691827360532,1.7865375388841398
|
||||
2021-03-02,1.937459530362731,2.342655159280589,2.357038931141847,1.7895296836370012
|
||||
2021-03-03,1.9706649677688288,2.3299895380302202,2.378363867496358,1.791199912081311
|
||||
2021-03-04,2.03454366312985,2.3866367468951792,2.3920543931700116,1.7924193817202656
|
||||
2021-03-05,1.9716624067037414,2.3865015749563554,2.378103877859073,1.794301161383427
|
||||
2021-03-06,1.9878431487139974,2.4690347112045545,2.347875859464776,1.7956860000056156
|
||||
2021-03-07,1.956488326385587,2.5196959406891035,2.3891533436436463,1.8012345301544177
|
||||
2021-03-08,2.054920532591151,2.4334746001474263,2.3865526703102056,1.802248520558456
|
||||
2021-03-09,2.0709763477762904,2.395801888982338,2.2848109125443656,1.8072296454374943
|
||||
2021-03-10,2.061576297676355,2.4757913954678323,2.3654797150002316,1.8128895596995835
|
||||
2021-03-11,1.9862895937127723,2.391079361141238,2.319173527252362,1.815566307558204
|
||||
2021-03-12,1.984479636847778,2.396957210396273,2.2929915727922676,1.820613332862434
|
||||
2021-03-13,1.9739317443337252,2.448548042194237,2.30053923586084,1.8219970155911784
|
||||
2021-03-14,1.9898766385379372,2.43624396068609,2.345667653143889,1.8232278681126308
|
||||
2021-03-15,1.9247659537591737,2.4335356321894195,2.3538967830230493,1.82373620083605
|
||||
2021-03-16,1.9341310435961214,2.3999419292101654,2.3403246389418837,1.824660227754222
|
||||
2021-03-17,1.9573630688785582,2.401650476079606,2.3890930472158614,1.830152091408726
|
||||
2021-03-18,1.916292220465363,2.4332795948146395,2.4975495346055325,1.8310288037157638
|
||||
2021-03-19,1.8902934928551036,2.487105183541092,2.532561024813717,1.8317358469267173
|
||||
2021-03-20,1.9033083111399878,2.493733053568105,2.539405350329571,1.8353913872672805
|
||||
2021-03-21,1.9469616337437587,2.4445653037914346,2.595591709796882,1.8410845456434617
|
||||
2021-03-22,1.9523561942623817,2.464833796058223,2.6360624213867467,1.8434269895174336
|
||||
2021-03-23,1.8778580145651458,2.48363158677985,2.7465161664442417,1.8443107942164694
|
||||
2021-03-24,1.9079717263254403,2.535945467088719,2.7826295754397847,1.8469647243444618
|
||||
2021-03-25,1.8743829208618998,2.5797476302779896,2.6868861321695707,1.850122201684514
|
||||
2021-03-26,1.834591128454573,2.610576220050714,2.7188298676243816,1.8517838466539527
|
||||
2021-03-27,1.8552127634041797,2.573051282643857,2.7351096355129183,1.855126490928391
|
||||
2021-03-28,1.8141910534008308,2.5187250675787283,2.7749074182260496,1.8572472707823149
|
||||
2021-03-29,1.8544333591368398,2.4443463293292975,2.8655936571670595,1.8585862793603416
|
||||
2021-03-30,1.8798507924095926,2.4149038067531605,2.774884268046476,1.8629393368582883
|
||||
2021-03-31,1.9009488168929618,2.4112448623448826,2.6882580643517056,1.8671463378855657
|
||||
2021-04-01,1.953119553197379,2.4450145143439017,2.751539545331297,1.8698580742202642
|
||||
2021-04-02,1.9208439336302838,2.3945306998424014,2.721056425435808,1.87330909439513
|
||||
2021-04-03,1.9043823831998434,2.4885420154624676,2.6598348867019803,1.878195130287063
|
||||
2021-04-04,1.9118325872114668,2.4300310533502008,2.7211384877273948,1.8839982986422057
|
||||
2021-04-05,1.9143311965206804,2.366572070037218,2.708626053048081,1.8850716239056435
|
||||
2021-04-06,1.8868214529678373,2.380104252886121,2.686516753657998,1.8871993251779393
|
||||
2021-04-07,1.915272401908787,2.5062371476041356,2.71344808649388,1.8934266304908813
|
||||
2021-04-08,1.8266991151730405,2.4886927324645174,2.646619960795338,1.8952255418305732
|
||||
2021-04-09,1.8500524861130612,2.4165463443216932,2.6599476022507953,1.9002134801109596
|
||||
2021-04-10,1.8195144950767264,2.465958801894828,2.6758564038772983,1.9013421033802682
|
||||
2021-04-11,1.8251075661045568,2.4745418174804223,2.7033897124033586,1.9042278480312262
|
||||
2021-04-12,1.8574721140724475,2.484584953936203,2.7440593089530627,1.9077837225054788
|
||||
2021-04-13,1.911298058653184,2.5605874195631344,2.8414368801570378,1.9099484681472971
|
||||
2021-04-14,1.8755803592000877,2.5772966956091943,2.9171447045049925,1.911040045228034
|
||||
2021-04-15,1.881151828474525,2.493092715001101,2.908716499524202,1.9117571556803035
|
||||
2021-04-16,1.901388647119129,2.533670653002471,2.897580626540045,1.9128440540294511
|
||||
2021-04-17,1.8455570976557,2.5107854787646064,2.8589457667876768,1.9179509029490625
|
||||
2021-04-18,1.8811275456102494,2.514417473356992,2.863591117645981,1.9203758611787909
|
||||
2021-04-19,1.934735684533444,2.441080790840025,2.8073681187362123,1.9216773546234265
|
||||
2021-04-20,1.9219636087498067,2.5198850671138677,2.6598177500405376,1.9223746165623774
|
||||
2021-04-21,1.8483009032647868,2.5668625547309216,2.6303836552790636,1.925845609587103
|
||||
2021-04-22,1.9073036166732469,2.635200116789085,2.6391794736120544,1.9321383005793755
|
||||
2021-04-23,1.938789170601118,2.7159817530096486,2.6299970076917005,1.9337504327285644
|
||||
2021-04-24,1.9254214485539767,2.68674800088486,2.6213656262579277,1.9391915608669554
|
||||
2021-04-25,1.9151980640721527,2.6416818289870436,2.698696546806226,1.9453402405280558
|
||||
2021-04-26,1.913556055665868,2.7154844837131242,2.7088420094437335,1.9627177070918458
|
||||
2021-04-27,1.8550709922539876,2.7165115356211165,2.7295919593511093,1.970618796089648
|
||||
2021-04-28,1.8559271396289394,2.7026332636150108,2.794411627669506,1.9716117398170636
|
||||
2021-04-29,1.8887764888453191,2.695615707368346,2.8386011677697285,1.974002338188185
|
||||
2021-04-30,1.87702571919354,2.6768278988154934,2.9324184345642834,1.9752019919798773
|
||||
2021-05-01,1.869673471855934,2.599014622216264,2.933679320366271,1.9809638585685387
|
||||
2021-05-02,1.8703018137152103,2.571181859813996,2.830813323929607,1.9851112456860178
|
||||
2021-05-03,1.9397508461882043,2.500067466520934,2.800771049001466,1.9881837519287002
|
||||
2021-05-04,1.9662895976827102,2.4880647404085687,2.7574211065527066,1.9924446913404674
|
||||
2021-05-05,1.9166876136302373,2.4511445383135855,2.7849793065045674,1.993086718932316
|
||||
2021-05-06,1.9105650628791355,2.492654665687748,2.7766387250167632,2.0051437219794908
|
||||
2021-05-07,1.96805977731422,2.550894868022315,2.792016997938374,2.0067558210471583
|
||||
2021-05-08,1.9762478446854255,2.5846124898397456,2.745681568662014,2.0073834860863173
|
||||
2021-05-09,2.0313261579996955,2.6455901447327093,2.7640253214408235,2.0101404950182102
|
||||
2021-05-10,2.010304032368663,2.6093978048274313,2.6839376415947034,2.011457989916723
|
||||
2021-05-11,1.9888886082655008,2.586485882320101,2.735085847161425,2.0154307660974595
|
||||
2021-05-12,2.0119766964891235,2.5795990402328908,2.7489754234614776,2.01927447499852
|
||||
2021-05-13,1.9812015301948789,2.5657754558807686,2.798778049554446,2.0196506872240665
|
||||
2021-05-14,1.9268653257020327,2.555530678112648,2.7382365105347186,2.0287022787569384
|
||||
2021-05-15,1.9676549288249392,2.545716493209544,2.680203454865353,2.0302263577189295
|
||||
2021-05-16,2.0345457844885786,2.5385168890809995,2.5767219866057958,2.0310066254357433
|
||||
2021-05-17,1.9606539671822019,2.597017465278317,2.654809884531759,2.031844316479567
|
||||
2021-05-18,1.949066953412906,2.665849564392086,2.6508616891901435,2.033985580665928
|
||||
2021-05-19,1.908705080541045,2.6746661043780247,2.6421100672231406,2.0392519402125733
|
||||
2021-05-20,1.903219918956071,2.635660526964302,2.582226260890573,2.041634853378214
|
||||
2021-05-21,1.8904485215794526,2.6739417239879977,2.585266889114871,2.0421520225416194
|
||||
2021-05-22,1.88099088601678,2.728493647516978,2.495186539060622,2.0425147282708327
|
||||
2021-05-23,1.8717741643600017,2.6999196484354004,2.5273052275976875,2.046161078526562
|
||||
2021-05-24,1.9511923780284222,2.6590518128951506,2.584550030434049,2.0523363620478525
|
||||
2021-05-25,1.925866085030401,2.624531676236537,2.5733349755383266,2.0641169119151375
|
||||
2021-05-26,1.979142234707904,2.585684531895416,2.608018521527197,2.0650347867261303
|
||||
2021-05-27,1.9929556304949054,2.541961224772388,2.674526052033722,2.0655998338659254
|
||||
2021-05-28,1.9489563897379485,2.5695891539521605,2.6504157845173917,2.0667250160164565
|
||||
2021-05-29,1.9304517954713933,2.651379750069219,2.7292148870002166,2.0686780200258923
|
||||
2021-05-30,1.8956594127156408,2.6824689199866794,2.8701441551837172,2.075140133220369
|
||||
2021-05-31,1.9161351501714543,2.559842530638906,2.8986259554264184,2.0780613110690633
|
||||
2021-06-01,1.910572978911347,2.5699319760599626,2.934204667154654,2.0795305493241236
|
||||
2021-06-02,1.8508997248925763,2.4324737732941655,2.87091985426918,2.0849842569343293
|
||||
2021-06-03,1.8288566166552969,2.331982409113071,2.858127947931026,2.0855919218160386
|
||||
2021-06-04,1.8346072759864436,2.284948722383677,2.8145071193382014,2.0955531039653197
|
||||
2021-06-05,1.8885168997932236,2.290326698915272,2.800462980076794,2.0982117670734555
|
||||
2021-06-06,1.8248895809375585,2.3324279303437487,2.7964135929013594,2.1018461280788134
|
||||
2021-06-07,1.8481756289460165,2.423256010588786,2.9067171477044207,2.105787599499597
|
||||
2021-06-08,1.8684848570095287,2.3977135286610025,2.9080980632719275,2.1067832445344865
|
||||
2021-06-09,1.8832576786291053,2.438906968392103,2.911343133245727,2.119006739692313
|
||||
2021-06-10,1.8889061489449825,2.4663316166179867,2.8706613540339623,2.1223381704874162
|
||||
2021-06-11,1.887797962992375,2.4618455427043773,2.7834343226272966,2.1228458217257864
|
||||
2021-06-12,1.8081989813409656,2.38622003153277,2.780969731760915,2.140551759451355
|
||||
2021-06-13,1.845294044028118,2.3480220047535156,2.7472498404525156,2.1516534679778947
|
||||
2021-06-14,1.87982248448568,2.3510193254934593,2.7581073282006066,2.1548648791531626
|
||||
2021-06-15,1.8338720562684567,2.342483386195582,2.724722353009969,2.1566576197096365
|
||||
2021-06-16,1.8377758052779498,2.35599816673883,2.739177328292277,2.157290355110665
|
||||
2021-06-17,1.8196301146220972,2.422132083942238,2.8244490368467146,2.161990467762121
|
||||
2021-06-18,1.8269018626454332,2.3547509115539627,2.887903688319278,2.162764295309903
|
||||
2021-06-19,1.8106009920802508,2.375169305086028,2.832486587581785,2.1652895904308656
|
||||
2021-06-20,1.8874377713675716,2.389128566489945,2.8568779106026585,2.166182992475619
|
||||
2021-06-21,1.8663872313620136,2.323202847900762,2.895433042491957,2.168569662637026
|
||||
2021-06-22,1.9378093869222215,2.286453398422873,2.857694799376853,2.171973951255609
|
||||
2021-06-23,1.9139717091235062,2.199961227842093,2.9421370312120145,2.1727974168934274
|
||||
2021-06-24,1.9438901432697355,2.20785203514083,2.9227064385331896,2.1766744731349945
|
||||
2021-06-25,1.9471892979068957,2.269913411493896,2.880360580277351,2.1774856245167253
|
||||
2021-06-26,1.9415855608604948,2.295153987435186,2.8826082196695824,2.1789435822974976
|
||||
2021-06-27,1.9518140378096729,2.3138490077854157,2.9100507898449455,2.1802505077055705
|
||||
2021-06-28,1.8636136811434287,2.3437251272394173,2.927263674542377,2.181806224834297
|
||||
2021-06-29,1.8638926435483791,2.3788782530038755,2.8338412698877353,2.183785998658097
|
||||
2021-06-30,1.9180444154340122,2.410473548964974,2.7231063331779746,2.2066550902131263
|
||||
2021-07-01,1.8680141028965276,2.4095546298490573,2.7236851887550073,2.2087739245872813
|
||||
2021-07-02,1.9000815805147049,2.446198538507121,2.754433971997974,2.21063494844427
|
||||
2021-07-03,1.8895083801803723,2.480581559774474,2.7079320699053278,2.214414901619294
|
||||
2021-07-04,1.8903362113990645,2.6044606499887233,2.655649764756849,2.2160967201726334
|
||||
2021-07-05,1.863847557940538,2.6054910686033943,2.6791890779968734,2.224511358845949
|
||||
2021-07-06,1.8500225507844492,2.6364143875653507,2.6507914696890436,2.2261640873455297
|
||||
2021-07-07,1.8545921896581472,2.633080317410046,2.685442500141768,2.227757799836993
|
||||
2021-07-08,1.8904007578732496,2.533747256777972,2.7347535358462505,2.228157877563259
|
||||
2021-07-09,1.8856416405504677,2.605524424291013,2.7457330943867726,2.231449946171915
|
||||
2021-07-10,1.97848257682334,2.579513338466467,2.788826378168117,2.235957503155089
|
||||
2021-07-11,2.0632880307246073,2.4775022572624024,2.7746491256465746,2.2382425762198683
|
||||
2021-07-12,2.110504407368901,2.456777769417417,2.7562873121227707,2.2406163223357334
|
||||
2021-07-13,2.1759202799695583,2.4984250322812254,2.798153363691262,2.2426404673589078
|
||||
2021-07-14,2.239321245772315,2.4492310807898523,2.726840989521577,2.2471386002780784
|
||||
2021-07-15,2.2426723865726506,2.402395574599132,2.7602278658235178,2.248833778751075
|
||||
2021-07-16,2.2166846403591,2.432506115526139,2.6676493828336945,2.252808270595654
|
||||
2021-07-17,2.2841196635189163,2.4972428267219686,2.7076292562719497,2.254000565733404
|
||||
2021-07-18,2.386529028336786,2.612095092640717,2.70298080169123,2.261076376791599
|
||||
2021-07-19,2.4238653313588148,2.504692276828355,2.7431136501996147,2.2616688822162763
|
||||
2021-07-20,2.460828534670216,2.452670936345254,2.7565685093396453,2.262601026466135
|
||||
2021-07-21,2.493045678463024,2.4046080113694286,2.7838084192636723,2.2649210605988244
|
||||
2021-07-22,2.441711218367391,2.463051137572334,2.799827862481423,2.274065287389161
|
||||
2021-07-23,2.418563467184,2.4653369858988423,2.7297221872526554,2.278754666823245
|
||||
2021-07-24,2.4304630704026624,2.3651852483193254,2.6663947216805783,2.2797382021876995
|
||||
2021-07-25,2.4126973135020275,2.417968008408696,2.787339710188789,2.281719698996362
|
||||
2021-07-26,2.47943083422814,2.4510484154227674,2.7912434692107113,2.2851382649621566
|
||||
2021-07-27,2.4380333408538903,2.4732696752148855,2.7378070926145313,2.2999182696038782
|
||||
2021-07-28,2.400138104550418,2.547255434790142,2.7396727778923124,2.302102827267749
|
||||
2021-07-29,2.360471368274433,2.5395460544086044,2.7388249104848317,2.3050948578374104
|
||||
2021-07-30,2.355666923260717,2.6254949266270313,2.74941124002447,2.3055518440923057
|
||||
2021-07-31,2.416684093944538,2.645511707304542,2.7077209324070077,2.30578825844753
|
||||
2021-08-01,2.4128068706501495,2.6219147891822914,2.6886059314060793,2.3136391114307
|
||||
2021-08-02,2.398413052480753,2.5677353523181545,2.618904838159212,2.318632597495367
|
||||
2021-08-03,2.380141405274328,2.5644643372967035,2.647740662535277,2.320630789130837
|
||||
2021-08-04,2.2921663161037276,2.6217937727878615,2.6269895965798953,2.321781634662929
|
||||
2021-08-05,2.3144012458599676,2.6548166586145934,2.548888166031659,2.3238221687478564
|
||||
2021-08-06,2.265961951621215,2.6070890825727435,2.5504701798220992,2.354673007548111
|
||||
2021-08-07,2.364145878366589,2.596710615869842,2.5490555586447248,2.3557410875692586
|
||||
2021-08-08,2.231803674581417,2.6717351713292774,2.5616542793907913,2.3584983044174184
|
||||
2021-08-09,2.238887015121952,2.7382321156821323,2.5826947578272046,2.359170765898252
|
||||
2021-08-10,2.2339645512297044,2.803751927137453,2.57422874290244,2.3603389590413566
|
||||
2021-08-11,2.268051347901983,2.849363150205823,2.581723168426758,2.3665125134273004
|
||||
2021-08-12,2.253106985644197,2.796967421021412,2.553964612663342,2.3672914355470946
|
||||
2021-08-13,2.222066888646865,2.8562837277560336,2.484163135633253,2.3680720623695324
|
||||
2021-08-14,2.1627827750859434,2.8381698041678036,2.435386230760158,2.3701761576689115
|
||||
2021-08-15,2.078189592625496,2.7198713977785234,2.4107837914568666,2.375395191808593
|
||||
2021-08-16,2.084025292809807,2.723601772599589,2.3715953022783283,2.380093186903871
|
||||
2021-08-17,2.114290260112508,2.8090650144079103,2.4499854688405223,2.3850957087611766
|
||||
2021-08-18,2.1049336334491655,2.7133625112373623,2.451094477786386,2.386094871815321
|
||||
2021-08-19,2.0761047423807946,2.7149022252692707,2.4588024793796577,2.3878169160184095
|
||||
2021-08-20,2.113261491761997,2.6886861501271544,2.474311580858028,2.3901432153753905
|
||||
2021-08-21,2.0554779790278466,2.73245396949763,2.3791016815694674,2.390384867652607
|
||||
2021-08-22,2.0121391257376247,2.772520606174383,2.370607589009269,2.391900058718593
|
||||
2021-08-23,2.04800026877506,2.6742802906201293,2.4478680243430997,2.3981448890519355
|
||||
2021-08-24,2.0716317081149627,2.7635374398801775,2.493017438618508,2.4016980477869465
|
||||
2021-08-25,2.1339147395651423,2.801894354817671,2.467735690801983,2.40987605607982
|
||||
2021-08-26,2.1550960560486985,2.8135636440796445,2.5732433270029658,2.4111271706772572
|
||||
2021-08-27,2.19013224067687,2.751699711247068,2.5839935508464693,2.4187399821881232
|
||||
2021-08-28,2.1686211513668545,2.7302426526005306,2.621243087864899,2.4227260952456464
|
||||
2021-08-29,2.2756644343885366,2.736448101694492,2.5676860539558284,2.424762688251853
|
||||
2021-08-30,2.228843873329216,2.802223133494886,2.5348558782909945,2.4253943176696806
|
||||
2021-08-31,2.290534657423185,2.817855286690285,2.492727930845802,2.42633340432104
|
||||
2021-09-01,2.3104956751915884,2.841595141956114,2.4917793669013726,2.4331152735594164
|
||||
2021-09-02,2.22052238974031,2.8456455944123817,2.480527325602523,2.4338623304549842
|
||||
2021-09-03,2.1406712190302226,2.8650549735152824,2.521739658044962,2.4550141443746236
|
||||
2021-09-04,2.064483788114315,2.882743039865439,2.60898554264686,2.460356391942159
|
||||
2021-09-05,2.048836580652613,2.9650824975909322,2.674911635952264,2.4609446369713437
|
||||
2021-09-06,2.0452877259592848,2.903798295648383,2.589414288722403,2.461562486765298
|
||||
2021-09-07,2.045620390684616,2.880026888266613,2.639903142275342,2.462835850497363
|
||||
2021-09-08,2.0594875117509366,2.9054528756662967,2.6302785319091284,2.4632941712837595
|
||||
2021-09-09,2.0715324032788986,2.9521185942197534,2.6582065884896116,2.4658060085407625
|
||||
2021-09-10,2.071919030271377,2.9520941932340077,2.6525011751284353,2.4659951096143957
|
||||
2021-09-11,2.1128175294359326,3.050636065940252,2.5421340523662264,2.470165291514924
|
||||
2021-09-12,2.1371401627561784,3.1088025349851285,2.5531725661354274,2.4714554938837856
|
||||
2021-09-13,2.1221979236093858,3.1130281070271884,2.605517396260833,2.4717594878998876
|
||||
2021-09-14,2.0922619883835316,3.103804334615367,2.56424106714332,2.484080598930304
|
||||
2021-09-15,2.1296373093354015,3.172278969984911,2.603103232320957,2.490925099842164
|
||||
2021-09-16,2.2085874383366293,3.2342944060088112,2.539366192461412,2.4920686838886708
|
||||
2021-09-17,2.160774656452423,3.1820020466198815,2.4437264197836135,2.497032314538377
|
||||
2021-09-18,2.1005571815313426,3.129989283779571,2.4341415711917005,2.5031585820990054
|
||||
2021-09-19,2.0349490727249426,3.050564070117339,2.47064740888052,2.5047729501678186
|
||||
2021-09-20,2.0122952532834035,2.9663385686230486,2.441739504965169,2.5073164957610614
|
||||
2021-09-21,2.0724809184474804,2.925469456042676,2.4118909546622125,2.510259868307541
|
||||
2021-09-22,1.999213691064068,2.8570766785494772,2.4272971274175705,2.5113889286847435
|
||||
2021-09-23,2.059941390098371,2.92693752803989,2.44880421524885,2.5145633658595057
|
||||
2021-09-24,2.105283568817446,2.9195652901295506,2.4374861206290914,2.5173561420402115
|
||||
2021-09-25,2.1210872152402542,2.873887502964376,2.4414828878082298,2.522210121483124
|
||||
2021-09-26,2.0931165389112834,2.822939979162219,2.4707550747404516,2.523669947695392
|
||||
2021-09-27,2.1371758885392134,2.828793719274986,2.3853774746030463,2.5248760447500147
|
||||
2021-09-28,2.1929488477227084,2.7593800720810338,2.378955877552903,2.5343482898075793
|
||||
2021-09-29,2.125507620414123,2.786935876211741,2.3575908361604307,2.5355289705924555
|
||||
2021-09-30,2.052905696214497,2.7282293914876763,2.3015941264528426,2.5382075807228244
|
||||
2021-10-01,2.0364080644140428,2.6681989554078887,2.3073491839835536,2.571650727264994
|
||||
2021-10-02,2.0422494296057234,2.666711228702867,2.299448424300495,2.5772059977898847
|
||||
2021-10-03,2.0947093536075942,2.6668556496516254,2.2328079684139888,2.5802566901785724
|
||||
2021-10-04,2.0687468535004876,2.7607929676207017,2.2814550397769966,2.5810454803385636
|
||||
2021-10-05,2.008593460234377,2.7751795981601792,2.352048274803163,2.5815117770626617
|
||||
2021-10-06,2.067000800313782,2.7068504554634094,2.4217255013963137,2.5820639027611594
|
||||
2021-10-07,2.0337696425008014,2.7466966292456103,2.4134972530938272,2.5828079811678166
|
||||
2021-10-08,2.0044733977436304,2.7826283421434157,2.4211296867432854,2.584337369306774
|
||||
2021-10-09,1.9878463912884312,2.6841407255222376,2.3725726981484647,2.588489827265691
|
||||
2021-10-10,1.9789591941446927,2.7547576924846537,2.3320178015335373,2.589656256725408
|
||||
2021-10-11,2.067812331771724,2.703092094928401,2.304381553794902,2.5931068769579664
|
||||
2021-10-12,2.1151319398016852,2.768753363299485,2.3514950875685137,2.5987731243489507
|
||||
2021-10-13,2.074380903246295,2.7573481888431717,2.4117239551590024,2.6094004651481804
|
||||
2021-10-14,2.126047656894596,2.7390587746687203,2.535038908206191,2.622306449658358
|
||||
2021-10-15,2.1612752917059335,2.7047397413058425,2.5053326748582028,2.6259677667747905
|
||||
2021-10-16,2.1956066155375216,2.7089062459147493,2.5817398338602966,2.632824059266838
|
||||
2021-10-17,2.241522724288997,2.7249894661547853,2.660616874008986,2.634181980519386
|
||||
2021-10-18,2.2751582578885703,2.7623042106401283,2.680746831749016,2.63602807072511
|
||||
2021-10-19,2.2563594988412343,2.7471749482664385,2.8041555813061247,2.6363794635692743
|
||||
2021-10-20,2.2099896086877795,2.676951221566803,2.920062106542289,2.637304172590792
|
||||
2021-10-21,2.282095580740634,2.753894947154244,2.9258750339197217,2.6409597905641258
|
||||
2021-10-22,2.2239343284733715,2.7274784269968815,2.9632255775263534,2.646001659676019
|
||||
2021-10-23,2.279319416831802,2.754567567751261,2.944829035632479,2.64811853509479
|
||||
2021-10-24,2.3453015700758875,2.8067055640853646,2.9700974711232964,2.6527765689500336
|
||||
2021-10-25,2.361824247126788,2.83282825313507,2.9242108348710816,2.6545196340698194
|
||||
2021-10-26,2.3280396834643073,2.75660559936471,2.9277325762489816,2.6555982638215743
|
||||
2021-10-27,2.3232044347597713,2.844989128944869,2.9056610131635514,2.6577179985426636
|
||||
2021-10-28,2.325234540964127,2.833538434926841,2.9382674014595938,2.6587683963493935
|
||||
2021-10-29,2.3174426156683516,2.827442931346405,2.8986258916038445,2.6614131001738768
|
||||
2021-10-30,2.303986868285237,2.7280140030480253,2.9094817433940383,2.6637064407947135
|
||||
2021-10-31,2.309969205499111,2.7066661434969617,2.9116358132766327,2.664841531544583
|
||||
2021-11-01,2.2788521507542145,2.800627486486081,2.881919827005178,2.682567431792886
|
||||
2021-11-02,2.289873879425013,2.8676013261263162,2.9716190686614548,2.6831658727899543
|
||||
2021-11-03,2.2502523830877394,2.8681376567654393,2.9549092796583802,2.6895120113039495
|
||||
2021-11-04,2.2499643871269837,2.850796290411571,2.8867884233120735,2.6911571478718797
|
||||
2021-11-05,2.26774160238118,2.8185360443737983,2.836387156970712,2.6953873599465203
|
||||
2021-11-06,2.2531753705339277,2.7826506313198807,2.8582663146238567,2.700841190429837
|
||||
2021-11-07,2.2556750085492188,2.8994922166269346,2.8632658419610806,2.7021513445161824
|
||||
2021-11-08,2.17027473713999,2.847771395681168,2.833256545930489,2.708092757039891
|
||||
2021-11-09,2.1510041519617005,2.872826551162227,2.744546887740383,2.7120664758301136
|
||||
2021-11-10,2.089156423071544,2.825751596322006,2.743451393425635,2.724715742479188
|
||||
2021-11-11,2.1606616535396515,2.779964928904481,2.781434990204661,2.7337340561236974
|
||||
2021-11-12,2.22697625120498,2.793285304179139,2.773887117599273,2.737728468385452
|
||||
2021-11-13,2.1257678330081498,2.8165362896066752,2.86750973045401,2.746084629737747
|
||||
2021-11-14,2.112117365784724,2.8367061005230485,2.9325662051535626,2.7478284073731647
|
||||
2021-11-15,2.1414712041108457,2.754303603858349,2.896365856714937,2.75215193604866
|
||||
2021-11-16,2.1557391557902115,2.753001275499925,2.937133059764655,2.754932413419881
|
||||
2021-11-17,2.154167768921914,2.810867199878264,2.8810554235577417,2.7554740519676866
|
||||
2021-11-18,2.1182579211691177,2.8273564859892204,2.9403688080111583,2.756343465752641
|
||||
2021-11-19,2.2080179477473396,2.8057718548817165,2.9615045184130424,2.758478486958606
|
||||
2021-11-20,2.2327113423585487,2.8661993143731945,3.0144956798093148,2.759566487000925
|
||||
2021-11-21,2.1995919926711824,2.900011718430837,3.0506828709701135,2.7620351530204914
|
||||
2021-11-22,2.1615880600950845,2.908847412336186,3.152681181917425,2.762940587626402
|
||||
2021-11-23,2.1327325640545864,2.869850036221621,3.2292999126763804,2.7697389936883785
|
||||
2021-11-24,2.1128289631029356,2.835360810270004,3.2629362630101233,2.7704335451649413
|
||||
2021-11-25,2.1331127276857518,2.744685656788545,3.2493270516880286,2.7713005224391805
|
||||
2021-11-26,2.1470826152283653,2.660082061731212,3.1330178519856156,2.773281874490202
|
||||
2021-11-27,2.1802836234277545,2.736207459206439,3.1821813755888866,2.7741755748091674
|
||||
2021-11-28,2.1696229236188276,2.838619128310465,3.128384633590994,2.7788775126744616
|
||||
2021-11-29,2.06697186301064,2.9386551954738698,3.221465553399786,2.814464179560515
|
||||
2021-11-30,2.0567800886382206,2.9032547346451127,3.2571867604362543,2.8160649972349403
|
||||
2021-12-01,2.0955998606819555,2.8110233635697357,3.229027714239134,2.8199523567872906
|
||||
2021-12-02,2.1462545477704857,2.826150809828675,3.1691053282583,2.8229404561199005
|
||||
2021-12-03,2.1232431187920686,2.7922683049865076,3.2608479312168894,2.8265425875930568
|
||||
2021-12-04,2.1436777950026475,2.747224835986388,3.234805249448213,2.83507130342911
|
||||
2021-12-05,2.139560011388713,2.7724527720485277,3.2523476506431717,2.862721448696889
|
||||
2021-12-06,2.072164179045985,2.8723039305403075,3.187133755200367,2.8672204458528934
|
||||
2021-12-07,2.0927664451122485,2.9330884462016695,3.16775417470898,2.867970299259265
|
||||
2021-12-08,2.0793825185416273,2.808423886842806,3.1785452959084544,2.870861724204546
|
||||
2021-12-09,2.0988910963722605,2.838298546728298,3.099368984918366,2.8746650385729047
|
||||
2021-12-10,2.05563112640476,2.795252673153229,3.0377446518358213,2.8766165408470483
|
||||
2021-12-11,2.052190526674436,2.790693445222851,3.018037249654266,2.88227507626334
|
||||
2021-12-12,2.0510203371839957,2.7795703215951537,3.062453072536595,2.884033781084639
|
||||
2021-12-13,2.0503659209385634,2.705757825920253,3.0577798467602184,2.88807208293864
|
||||
2021-12-14,2.065888904872756,2.640561562291197,3.051383213547955,2.890515761651997
|
||||
2021-12-15,2.0241158710009217,2.6562965129045946,3.1134644257491795,2.8915956102816867
|
||||
2021-12-16,2.011796559941659,2.5879087443206092,3.1071035379000675,2.9017588477036265
|
||||
2021-12-17,1.9471541934795626,2.534757152028258,3.118054855704814,2.9056966618689097
|
||||
2021-12-18,1.9891576149329404,2.554456971035494,3.190911598735974,2.9073356356281543
|
||||
2021-12-19,1.9977947742668283,2.521892010258683,3.1579358508854742,2.908694730596919
|
||||
2021-12-20,2.024489416921948,2.498849053678626,3.051474258701378,2.910257506232819
|
||||
2021-12-21,1.9101162709403734,2.4994923144947903,3.0417807443363,2.9158203024326323
|
||||
2021-12-22,1.8586335615962708,2.4474147650257,3.0696373922941342,2.91760329017934
|
||||
2021-12-23,1.8026154230569922,2.4134337813378286,3.10286303278097,2.918765537355731
|
||||
2021-12-24,1.8041416523202543,2.3443871803774843,3.1420884645008327,2.9270177310498138
|
||||
2021-12-25,1.8489534806960217,2.3553941020378786,3.1643414517660107,2.927586841263833
|
||||
2021-12-26,1.892760626762073,2.3910443162754316,3.1633800267770162,2.935788479523747
|
||||
2021-12-27,1.8698231750168643,2.430083480413742,3.215021219440133,2.940571664793773
|
||||
2021-12-28,1.8548311703170128,2.463051743097091,3.2040363362571576,2.9458838146565722
|
||||
2021-12-29,1.887209965197199,2.362401253797821,3.285868116298562,2.9466697183024904
|
||||
2021-12-30,1.9151284139685454,2.452230511452688,3.344048729792291,2.958261602966074
|
||||
2021-12-31,1.884547011974969,2.4427816715914323,3.391590176442121,2.9589938455406117
|
||||
2022-01-01,1.900999543673747,2.423951572030134,3.4221871729754443,2.959381744191336
|
||||
|
0
exports/custom/.gitkeep
vendored
Normal file
0
exports/custom/.gitkeep
vendored
Normal file
@@ -4,6 +4,7 @@ __docformat__ = "numpy"
|
||||
import os
|
||||
import warnings
|
||||
from typing import Any
|
||||
from datetime import datetime
|
||||
|
||||
import matplotlib.pyplot as plt
|
||||
import matplotlib.dates as mdates
|
||||
@@ -94,13 +95,18 @@ def display_hist(
|
||||
"""
|
||||
fig, ax = plt.subplots(figsize=plot_autoscale(), dpi=PLOT_DPI)
|
||||
data = df[target]
|
||||
start = df.index[0]
|
||||
|
||||
sns.histplot(data, bins=bins, kde=True, ax=ax, stat="proportion")
|
||||
sns.rugplot(data, c="r", ax=ax)
|
||||
|
||||
ax.set_title(f"Histogram of {name} {target} from {start.strftime('%Y-%m-%d')}")
|
||||
ax.set_xlabel("Share Price")
|
||||
if isinstance(df.index[0], datetime):
|
||||
start = df.index[0]
|
||||
|
||||
ax.set_title(f"Histogram of {name} {target} from {start.strftime('%Y-%m-%d')}")
|
||||
else:
|
||||
ax.set_title(f"Histogram of {name} {target}")
|
||||
|
||||
ax.set_xlabel("Value")
|
||||
ax.grid(True)
|
||||
|
||||
if gtff.USE_ION:
|
||||
|
||||
0
gamestonk_terminal/custom/__init__.py
Normal file
0
gamestonk_terminal/custom/__init__.py
Normal file
242
gamestonk_terminal/custom/custom_controller.py
Normal file
242
gamestonk_terminal/custom/custom_controller.py
Normal file
@@ -0,0 +1,242 @@
|
||||
"""Custom Data Controller Module"""
|
||||
__docformat__ = "numpy"
|
||||
|
||||
import argparse
|
||||
import logging
|
||||
from typing import List
|
||||
from pathlib import Path
|
||||
|
||||
import pandas as pd
|
||||
from prompt_toolkit.completion import NestedCompleter
|
||||
|
||||
from gamestonk_terminal.rich_config import console
|
||||
from gamestonk_terminal import feature_flags as gtff
|
||||
from gamestonk_terminal.parent_classes import BaseController
|
||||
from gamestonk_terminal.menu import session
|
||||
from gamestonk_terminal.helper_funcs import (
|
||||
parse_known_args_and_warn,
|
||||
EXPORT_ONLY_FIGURES_ALLOWED,
|
||||
)
|
||||
from gamestonk_terminal.custom import custom_model, custom_view
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
# pylint:disable=import-outside-toplevel
|
||||
|
||||
|
||||
class CustomDataController(BaseController):
|
||||
"""Alternative Controller class"""
|
||||
|
||||
CHOICES_COMMANDS: List[str] = ["load", "plot", "show", "info"]
|
||||
CHOICES_MENUS: List[str] = ["qa", "pred"]
|
||||
pandas_plot_choices = [
|
||||
"line",
|
||||
"scatter",
|
||||
"bar",
|
||||
"barh",
|
||||
"hist",
|
||||
"box",
|
||||
"kde",
|
||||
"area",
|
||||
"pie",
|
||||
"hexbin",
|
||||
]
|
||||
PATH = "/custom/"
|
||||
|
||||
def __init__(self, queue: List[str] = None):
|
||||
"""Constructor"""
|
||||
super().__init__(queue)
|
||||
self.data = pd.DataFrame()
|
||||
self.file = ""
|
||||
self.DATA_FILES = [file.name for file in Path("custom_imports").iterdir()]
|
||||
|
||||
if session and gtff.USE_PROMPT_TOOLKIT:
|
||||
choices: dict = {c: {} for c in self.controller_choices}
|
||||
choices["load"] = {c: None for c in self.DATA_FILES}
|
||||
choices["plot"]["-k"] = {c: None for c in self.pandas_plot_choices}
|
||||
self.choices = choices
|
||||
self.completer = NestedCompleter.from_nested_dict(choices)
|
||||
|
||||
def update_runtime_choices(self):
|
||||
if session and gtff.USE_PROMPT_TOOLKIT:
|
||||
self.choices["plot"] = {c: None for c in self.data.columns}
|
||||
self.choices["plot"]["-y"] = {c: None for c in self.data.columns}
|
||||
self.choices["plot"]["-x"] = {c: None for c in self.data.columns}
|
||||
self.choices["plot"]["--vs"] = {c: None for c in self.data.columns}
|
||||
self.choices["show"]["-s"] = {c: None for c in self.data.columns}
|
||||
|
||||
self.completer = NestedCompleter.from_nested_dict(self.choices)
|
||||
|
||||
def print_help(self):
|
||||
"""Print help"""
|
||||
has_data_start = "" if not self.data.empty else "[unvl]"
|
||||
has_data_end = "" if not self.data.empty else "[/unvl]"
|
||||
help_text = f"""[cmds]
|
||||
load load in custom data set[/cmds]
|
||||
|
||||
Current file: {self.file or None}[cmds]{has_data_start}
|
||||
show show portion of loaded data
|
||||
info show data info (columns and datatypes)
|
||||
plot plot data from loaded file{has_data_end}[/cmds]
|
||||
[menus]
|
||||
> qa quantitative analysis, \t e.g.: decompose, cusum, residuals analysis
|
||||
> pred prediction techniques \t e.g.: regression, arima, rnn, lstm[/menus]
|
||||
"""
|
||||
console.print(text=help_text, menu="Custom")
|
||||
|
||||
def call_load(self, other_args: List[str]):
|
||||
"""Process load"""
|
||||
parser = argparse.ArgumentParser(
|
||||
add_help=False,
|
||||
formatter_class=argparse.ArgumentDefaultsHelpFormatter,
|
||||
prog="load",
|
||||
description="Load custom data set into a dataframe",
|
||||
)
|
||||
parser.add_argument(
|
||||
"-f",
|
||||
"--file",
|
||||
choices=self.DATA_FILES,
|
||||
help="File to load in.",
|
||||
default="test.csv",
|
||||
type=str,
|
||||
)
|
||||
|
||||
if other_args and "-" not in other_args[0][0]:
|
||||
other_args.insert(0, "-f")
|
||||
ns_parser = parse_known_args_and_warn(parser, other_args)
|
||||
if ns_parser:
|
||||
file = Path("custom_imports") / ns_parser.file
|
||||
self.data = custom_model.load(file)
|
||||
self.data.columns = self.data.columns.map(lambda x: x.lower())
|
||||
for col in self.data.columns:
|
||||
if col in ["date", "time", "timestamp"]: # Could be others?
|
||||
self.data[col] = pd.to_datetime(self.data[col])
|
||||
self.data = self.data.set_index(col)
|
||||
self.file = ns_parser.file
|
||||
self.update_runtime_choices()
|
||||
console.print("")
|
||||
|
||||
def call_plot(self, other_args: List[str]):
|
||||
"""Process plot command"""
|
||||
parser = argparse.ArgumentParser(
|
||||
add_help=False,
|
||||
formatter_class=argparse.ArgumentDefaultsHelpFormatter,
|
||||
prog="plot",
|
||||
description="Plot 2 columns of loaded data",
|
||||
)
|
||||
parser.add_argument(
|
||||
"-y",
|
||||
help="Variable to plot along y",
|
||||
dest="yvar",
|
||||
type=str,
|
||||
choices=list(self.data.columns),
|
||||
)
|
||||
parser.add_argument(
|
||||
"-x",
|
||||
"--vs",
|
||||
help="Variable along x axis",
|
||||
dest="xvar",
|
||||
type=str,
|
||||
choices=list(self.data.columns),
|
||||
default="",
|
||||
)
|
||||
parser.add_argument(
|
||||
"-k",
|
||||
"--kind",
|
||||
default="scatter",
|
||||
help="Type of plot for data",
|
||||
choices=self.pandas_plot_choices,
|
||||
)
|
||||
if other_args and "-" not in other_args[0][0]:
|
||||
other_args.insert(0, "-y")
|
||||
ns_parser = parse_known_args_and_warn(
|
||||
parser, other_args, export_allowed=EXPORT_ONLY_FIGURES_ALLOWED
|
||||
)
|
||||
if ns_parser:
|
||||
if self.data.empty:
|
||||
console.print("[red]No data loaded.[/red]\n")
|
||||
return
|
||||
custom_view.custom_plot(
|
||||
self.data,
|
||||
ns_parser.yvar,
|
||||
ns_parser.xvar,
|
||||
kind=ns_parser.kind,
|
||||
export=ns_parser.export,
|
||||
)
|
||||
console.print("")
|
||||
|
||||
def call_show(self, other_args: List[str]):
|
||||
"""Process head command"""
|
||||
parser = argparse.ArgumentParser(
|
||||
add_help=False,
|
||||
formatter_class=argparse.ArgumentDefaultsHelpFormatter,
|
||||
prog="show",
|
||||
description="Show loaded dataframe",
|
||||
)
|
||||
parser.add_argument(
|
||||
"-s", "--sortcol", nargs="+", type=str, dest="sortcol", default=""
|
||||
)
|
||||
parser.add_argument(
|
||||
"-a", "--ascend", action="store_true", default=False, dest="ascend"
|
||||
)
|
||||
ns_parser = parse_known_args_and_warn(parser, other_args, limit=5)
|
||||
if ns_parser:
|
||||
if self.data.empty:
|
||||
console.print("[red]No data loaded.[/red]\n")
|
||||
return
|
||||
if ns_parser.sortcol:
|
||||
sort_column = " ".join(ns_parser.sortcol)
|
||||
if sort_column not in self.data.columns:
|
||||
console.print(
|
||||
f"[red]{sort_column} not a valid column. Showing without sorting.\n[/red]"
|
||||
)
|
||||
else:
|
||||
console.print(
|
||||
self.data.sort_values(
|
||||
by=sort_column, ascending=ns_parser.ascend
|
||||
).head(ns_parser.limit)
|
||||
)
|
||||
console.print()
|
||||
return
|
||||
|
||||
console.print(self.data.head(ns_parser.limit))
|
||||
console.print()
|
||||
|
||||
def call_info(self, other_args: List[str]):
|
||||
"""Process info command"""
|
||||
parser = argparse.ArgumentParser(
|
||||
add_help=False,
|
||||
formatter_class=argparse.ArgumentDefaultsHelpFormatter,
|
||||
prog="info",
|
||||
description="Show information of custom data.",
|
||||
)
|
||||
|
||||
ns_parser = parse_known_args_and_warn(parser, other_args)
|
||||
if ns_parser:
|
||||
if self.data.empty:
|
||||
console.print("[red]No data loaded.[/red]\n")
|
||||
return
|
||||
console.print(self.data.info())
|
||||
console.print()
|
||||
|
||||
def call_qa(self, _):
|
||||
"""Process qa command"""
|
||||
from gamestonk_terminal.custom.quantitative_analysis import qa_controller
|
||||
|
||||
self.queue = self.load_class(
|
||||
qa_controller.QaController,
|
||||
custom_df=self.data,
|
||||
file=self.file,
|
||||
queue=self.queue,
|
||||
)
|
||||
|
||||
def call_pred(self, _):
|
||||
"""Process pred command"""
|
||||
if gtff.ENABLE_PREDICT:
|
||||
from gamestonk_terminal.custom.prediction_techniques import pred_controller
|
||||
|
||||
self.queue = self.load_class(
|
||||
pred_controller.PredictionTechniquesController,
|
||||
self.data,
|
||||
self.file,
|
||||
self.queue,
|
||||
)
|
||||
27
gamestonk_terminal/custom/custom_model.py
Normal file
27
gamestonk_terminal/custom/custom_model.py
Normal file
@@ -0,0 +1,27 @@
|
||||
"""Custom Controller Model"""
|
||||
__docformat__ = "numpy"
|
||||
|
||||
from pathlib import Path
|
||||
import pandas as pd
|
||||
|
||||
|
||||
def load(file: str) -> pd.DataFrame:
|
||||
"""Load custom file into dataframe. Currently will work with csv
|
||||
|
||||
Parameters
|
||||
----------
|
||||
file: str
|
||||
Path to file
|
||||
|
||||
Returns
|
||||
-------
|
||||
pd.DataFrame:
|
||||
Dataframe with custom data
|
||||
"""
|
||||
if not Path(file).exists():
|
||||
return pd.DataFrame()
|
||||
file_type = Path(file).suffix
|
||||
# TODO More data types
|
||||
if file_type != ".csv":
|
||||
return pd.DataFrame()
|
||||
return pd.read_csv(file)
|
||||
56
gamestonk_terminal/custom/custom_view.py
Normal file
56
gamestonk_terminal/custom/custom_view.py
Normal file
@@ -0,0 +1,56 @@
|
||||
"""Custom Controller View"""
|
||||
__docformat__ = "numpy"
|
||||
|
||||
import os
|
||||
|
||||
import matplotlib.pyplot as plt
|
||||
import pandas as pd
|
||||
|
||||
from gamestonk_terminal.helper_funcs import plot_autoscale, export_data
|
||||
from gamestonk_terminal.config_plot import PLOT_DPI
|
||||
from gamestonk_terminal import feature_flags as gtff
|
||||
from gamestonk_terminal.rich_config import console
|
||||
|
||||
|
||||
def custom_plot(
|
||||
data: pd.DataFrame,
|
||||
y_col: str,
|
||||
x_col: str = "",
|
||||
kind: str = "scatter",
|
||||
export: str = "",
|
||||
):
|
||||
"""Plot custom data
|
||||
|
||||
Parameters
|
||||
----------
|
||||
data: pd.DataFrame
|
||||
Dataframe of custom data
|
||||
y_col: str
|
||||
Column for y data
|
||||
x_col: str
|
||||
Column for x data. Uses index if not supplied.
|
||||
kind : str
|
||||
Kind of plot to pass to pandas plot function
|
||||
export: str
|
||||
Format to export image
|
||||
"""
|
||||
fig, ax = plt.subplots(figsize=plot_autoscale(), dpi=PLOT_DPI)
|
||||
|
||||
if x_col:
|
||||
data.plot(x=x_col, y=y_col, kind=kind, ax=ax)
|
||||
else:
|
||||
data.reset_index().plot(x="index", y=y_col, kind=kind, ax=ax)
|
||||
|
||||
if x_col in ["date", "time", "timestamp"]:
|
||||
fig.autofmt_xdate()
|
||||
|
||||
fig.tight_layout(pad=2)
|
||||
if gtff.USE_ION:
|
||||
plt.ion()
|
||||
plt.show()
|
||||
console.print()
|
||||
export_data(
|
||||
export,
|
||||
os.path.dirname(os.path.abspath(__file__)),
|
||||
"custom_plot",
|
||||
)
|
||||
@@ -0,0 +1,715 @@
|
||||
""" Custom Prediction Controller """
|
||||
__docformat__ = "numpy"
|
||||
|
||||
import argparse
|
||||
from typing import List
|
||||
from pathlib import Path
|
||||
|
||||
import pandas as pd
|
||||
from prompt_toolkit.completion import NestedCompleter
|
||||
|
||||
from gamestonk_terminal.custom import custom_model
|
||||
from gamestonk_terminal.rich_config import console
|
||||
from gamestonk_terminal.parent_classes import BaseController
|
||||
from gamestonk_terminal import feature_flags as gtff
|
||||
from gamestonk_terminal.helper_funcs import (
|
||||
parse_known_args_and_warn,
|
||||
check_positive,
|
||||
valid_date,
|
||||
get_next_stock_market_days,
|
||||
EXPORT_ONLY_FIGURES_ALLOWED,
|
||||
)
|
||||
from gamestonk_terminal.menu import session
|
||||
from gamestonk_terminal.common.prediction_techniques import (
|
||||
arima_view,
|
||||
arima_model,
|
||||
ets_model,
|
||||
mc_model,
|
||||
ets_view,
|
||||
knn_view,
|
||||
neural_networks_view,
|
||||
regression_view,
|
||||
pred_helper,
|
||||
mc_view,
|
||||
)
|
||||
from gamestonk_terminal.stocks import stocks_helper
|
||||
|
||||
|
||||
class PredictionTechniquesController(BaseController):
|
||||
"""Prediction Techniques Controller class"""
|
||||
|
||||
CHOICES_COMMANDS = [
|
||||
"load",
|
||||
"pick",
|
||||
"ets",
|
||||
"knn",
|
||||
"regression",
|
||||
"arima",
|
||||
"mlp",
|
||||
"rnn",
|
||||
"lstm",
|
||||
"conv1d",
|
||||
"mc",
|
||||
]
|
||||
|
||||
PATH = "/custom/pred/"
|
||||
|
||||
def __init__(
|
||||
self,
|
||||
custom_df: pd.DataFrame,
|
||||
file: str,
|
||||
queue: List[str] = None,
|
||||
):
|
||||
"""Constructor"""
|
||||
super().__init__(queue)
|
||||
self.DATA_FILES = [file.name for file in Path("custom_imports").iterdir()]
|
||||
|
||||
self.df = custom_df
|
||||
self.ticker = file
|
||||
self.file = file
|
||||
self.target = custom_df.columns[2]
|
||||
|
||||
if session and gtff.USE_PROMPT_TOOLKIT:
|
||||
choices: dict = {c: {} for c in self.controller_choices}
|
||||
choices["pick"] = {c: None for c in self.df.columns}
|
||||
choices["load"]["-r"] = {c: {} for c in stocks_helper.INTERVALS}
|
||||
choices["pick"] = {c: {} for c in self.df.columns}
|
||||
choices["ets"]["-t"] = {c: {} for c in ets_model.TRENDS}
|
||||
choices["ets"]["-s"] = {c: {} for c in ets_model.SEASONS}
|
||||
choices["arima"]["-i"] = {c: {} for c in arima_model.ICS}
|
||||
choices["mc"]["--dist"] = {c: {} for c in mc_model.DISTRIBUTIONS}
|
||||
self.choices = choices
|
||||
self.completer = NestedCompleter.from_nested_dict(choices)
|
||||
|
||||
def print_help(self):
|
||||
"""Print help"""
|
||||
help_text = f"""[cmds]
|
||||
load load new ticker
|
||||
pick pick new target variable[/cmds]
|
||||
|
||||
[param]File: [/param]{self.file}
|
||||
[param]Target Column: [/param]{self.target}
|
||||
|
||||
[info]Models:[/info][cmds]
|
||||
ets exponential smoothing (e.g. Holt-Winters)
|
||||
knn k-Nearest Neighbors
|
||||
regression polynomial regression
|
||||
arima autoregressive integrated moving average
|
||||
mlp MultiLayer Perceptron
|
||||
rnn Recurrent Neural Network
|
||||
lstm Long-Short Term Memory
|
||||
conv1d 1D Convolutional Neural Network
|
||||
mc Monte-Carlo simulations[/cmds]
|
||||
"""
|
||||
console.print(text=help_text, menu="Custom - Prediction Techniques")
|
||||
|
||||
def custom_reset(self):
|
||||
"""Class specific component of reset command"""
|
||||
if self.ticker:
|
||||
return ["custom", f"load {self.file}", "pred"]
|
||||
return []
|
||||
|
||||
def update_runtime_choices(self):
|
||||
"""Add new columns to pick command"""
|
||||
if session and gtff.USE_PROMPT_TOOLKIT:
|
||||
self.choices["pick"] = {c: None for c in list(self.df.columns)}
|
||||
self.completer = NestedCompleter.from_nested_dict(self.choices)
|
||||
|
||||
def call_load(self, other_args: List[str]):
|
||||
"""Process load"""
|
||||
parser = argparse.ArgumentParser(
|
||||
add_help=False,
|
||||
formatter_class=argparse.ArgumentDefaultsHelpFormatter,
|
||||
prog="load",
|
||||
description="Load custom data set into a dataframe",
|
||||
)
|
||||
parser.add_argument(
|
||||
"-f",
|
||||
"--file",
|
||||
choices=self.DATA_FILES,
|
||||
help="File to load in.",
|
||||
default="test.csv",
|
||||
type=str,
|
||||
)
|
||||
|
||||
if other_args and "-" not in other_args[0][0]:
|
||||
other_args.insert(0, "-f")
|
||||
ns_parser = parse_known_args_and_warn(parser, other_args)
|
||||
if ns_parser:
|
||||
file = Path("custom_imports") / ns_parser.file
|
||||
self.df = custom_model.load(file)
|
||||
self.df.columns = self.df.columns.map(lambda x: x.lower())
|
||||
for col in self.df.columns:
|
||||
if col in ["date", "time", "timestamp"]: # Could be others?
|
||||
self.df[col] = pd.to_datetime(self.df[col])
|
||||
self.df = self.df.set_index(col)
|
||||
self.file = ns_parser.file
|
||||
self.update_runtime_choices()
|
||||
console.print("")
|
||||
|
||||
def call_pick(self, other_args: List[str]):
|
||||
"""Process pick command"""
|
||||
parser = argparse.ArgumentParser(
|
||||
formatter_class=argparse.ArgumentDefaultsHelpFormatter,
|
||||
add_help=False,
|
||||
prog="pick",
|
||||
description="""
|
||||
Change target variable
|
||||
""",
|
||||
)
|
||||
parser.add_argument(
|
||||
"-t",
|
||||
"--target",
|
||||
dest="target",
|
||||
choices=list(self.df.columns),
|
||||
help="Select variable to analyze",
|
||||
)
|
||||
if other_args and "-t" not in other_args and "-h" not in other_args:
|
||||
other_args.insert(0, "-t")
|
||||
|
||||
ns_parser = parse_known_args_and_warn(
|
||||
parser, other_args, EXPORT_ONLY_FIGURES_ALLOWED
|
||||
)
|
||||
if ns_parser:
|
||||
self.target = ns_parser.target
|
||||
console.print("")
|
||||
|
||||
def call_ets(self, other_args: List[str]):
|
||||
"""Process ets command"""
|
||||
parser = argparse.ArgumentParser(
|
||||
add_help=False,
|
||||
formatter_class=argparse.ArgumentDefaultsHelpFormatter,
|
||||
prog="ets",
|
||||
description="""
|
||||
Exponential Smoothing, see https://otexts.com/fpp2/taxonomy.html
|
||||
|
||||
Trend='N', Seasonal='N': Simple Exponential Smoothing
|
||||
Trend='N', Seasonal='A': Exponential Smoothing
|
||||
Trend='N', Seasonal='M': Exponential Smoothing
|
||||
Trend='A', Seasonal='N': Holt’s linear method
|
||||
Trend='A', Seasonal='A': Additive Holt-Winters’ method
|
||||
Trend='A', Seasonal='M': Multiplicative Holt-Winters’ method
|
||||
Trend='Ad', Seasonal='N': Additive damped trend method
|
||||
Trend='Ad', Seasonal='A': Exponential Smoothing
|
||||
Trend='Ad', Seasonal='M': Holt-Winters’ damped method
|
||||
Trend component: N: None, A: Additive, Ad: Additive Damped
|
||||
Seasonality component: N: None, A: Additive, M: Multiplicative
|
||||
""",
|
||||
)
|
||||
parser.add_argument(
|
||||
"-d",
|
||||
"--days",
|
||||
action="store",
|
||||
dest="n_days",
|
||||
type=check_positive,
|
||||
default=5,
|
||||
help="prediction days.",
|
||||
)
|
||||
parser.add_argument(
|
||||
"-t",
|
||||
"--trend",
|
||||
action="store",
|
||||
dest="trend",
|
||||
choices=ets_model.TRENDS,
|
||||
default="N",
|
||||
help="Trend component: N: None, A: Additive, Ad: Additive Damped.",
|
||||
)
|
||||
parser.add_argument(
|
||||
"-s",
|
||||
"--seasonal",
|
||||
action="store",
|
||||
dest="seasonal",
|
||||
choices=ets_model.SEASONS,
|
||||
default="N",
|
||||
help="Seasonality component: N: None, A: Additive, M: Multiplicative.",
|
||||
)
|
||||
parser.add_argument(
|
||||
"-p",
|
||||
"--periods",
|
||||
action="store",
|
||||
dest="seasonal_periods",
|
||||
type=check_positive,
|
||||
default=5,
|
||||
help="Seasonal periods.",
|
||||
)
|
||||
parser.add_argument(
|
||||
"-e",
|
||||
"--end",
|
||||
action="store",
|
||||
type=valid_date,
|
||||
dest="s_end_date",
|
||||
default=None,
|
||||
help="The end date (format YYYY-MM-DD) to select - Backtesting",
|
||||
)
|
||||
ns_parser = parse_known_args_and_warn(
|
||||
parser, other_args, export_allowed=EXPORT_ONLY_FIGURES_ALLOWED
|
||||
)
|
||||
if ns_parser:
|
||||
|
||||
if ns_parser.s_end_date:
|
||||
|
||||
if ns_parser.s_end_date < self.df.index[0]:
|
||||
console.print(
|
||||
"Backtesting not allowed, since End Date is older than Start Date of historical data\n"
|
||||
)
|
||||
|
||||
if ns_parser.s_end_date < get_next_stock_market_days(
|
||||
last_stock_day=self.df.index[0],
|
||||
n_next_days=5 + ns_parser.n_days,
|
||||
)[-1]:
|
||||
console.print(
|
||||
"Backtesting not allowed, since End Date is too close to Start Date to train model\n"
|
||||
)
|
||||
|
||||
ets_view.display_exponential_smoothing(
|
||||
ticker=self.ticker,
|
||||
values=self.df[self.target],
|
||||
n_predict=ns_parser.n_days,
|
||||
trend=ns_parser.trend,
|
||||
seasonal=ns_parser.seasonal,
|
||||
seasonal_periods=ns_parser.seasonal_periods,
|
||||
s_end_date=ns_parser.s_end_date,
|
||||
export=ns_parser.export,
|
||||
)
|
||||
|
||||
def call_knn(self, other_args: List[str]):
|
||||
"""Process knn command"""
|
||||
parser = argparse.ArgumentParser(
|
||||
add_help=False,
|
||||
formatter_class=argparse.ArgumentDefaultsHelpFormatter,
|
||||
prog="knn",
|
||||
description="""
|
||||
K nearest neighbors is a simple algorithm that stores all
|
||||
available cases and predict the numerical target based on a similarity measure
|
||||
(e.g. distance functions).
|
||||
""",
|
||||
)
|
||||
parser.add_argument(
|
||||
"-i",
|
||||
"--input",
|
||||
action="store",
|
||||
dest="n_inputs",
|
||||
type=check_positive,
|
||||
default=40,
|
||||
help="number of days to use as input for prediction.",
|
||||
)
|
||||
parser.add_argument(
|
||||
"-d",
|
||||
"--days",
|
||||
action="store",
|
||||
dest="n_days",
|
||||
type=check_positive,
|
||||
default=5,
|
||||
help="prediction days.",
|
||||
)
|
||||
parser.add_argument(
|
||||
"-j",
|
||||
"--jumps",
|
||||
action="store",
|
||||
dest="n_jumps",
|
||||
type=check_positive,
|
||||
default=1,
|
||||
help="number of jumps in training data.",
|
||||
)
|
||||
parser.add_argument(
|
||||
"-n",
|
||||
"--neighbors",
|
||||
action="store",
|
||||
dest="n_neighbors",
|
||||
type=check_positive,
|
||||
default=20,
|
||||
help="number of neighbors to use on the algorithm.",
|
||||
)
|
||||
parser.add_argument(
|
||||
"-e",
|
||||
"--end",
|
||||
action="store",
|
||||
type=valid_date,
|
||||
dest="s_end_date",
|
||||
default=None,
|
||||
help="The end date (format YYYY-MM-DD) to select for testing",
|
||||
)
|
||||
parser.add_argument(
|
||||
"-t",
|
||||
"--test_size",
|
||||
default=0.2,
|
||||
dest="valid_split",
|
||||
type=float,
|
||||
help="Percentage of data to validate in sample",
|
||||
)
|
||||
parser.add_argument(
|
||||
"--no_shuffle",
|
||||
action="store_false",
|
||||
dest="no_shuffle",
|
||||
default=True,
|
||||
help="Specify if shuffling validation inputs.",
|
||||
)
|
||||
ns_parser = parse_known_args_and_warn(
|
||||
parser, other_args, EXPORT_ONLY_FIGURES_ALLOWED
|
||||
)
|
||||
if ns_parser:
|
||||
knn_view.display_k_nearest_neighbors(
|
||||
ticker=self.ticker,
|
||||
data=self.df[self.target],
|
||||
n_neighbors=ns_parser.n_neighbors,
|
||||
n_input_days=ns_parser.n_inputs,
|
||||
n_predict_days=ns_parser.n_days,
|
||||
test_size=ns_parser.valid_split,
|
||||
end_date=ns_parser.s_end_date,
|
||||
no_shuffle=ns_parser.no_shuffle,
|
||||
)
|
||||
|
||||
def call_regression(self, other_args: List[str]):
|
||||
"""Process linear command"""
|
||||
parser = argparse.ArgumentParser(
|
||||
add_help=False,
|
||||
prog="regression",
|
||||
description="""
|
||||
Regression attempts to model the relationship between
|
||||
two variables by fitting a linear/quadratic/cubic/other equation to
|
||||
observed data. One variable is considered to be an explanatory variable,
|
||||
and the other is considered to be a dependent variable.
|
||||
""",
|
||||
)
|
||||
|
||||
parser.add_argument(
|
||||
"-i",
|
||||
"--input",
|
||||
action="store",
|
||||
dest="n_inputs",
|
||||
type=check_positive,
|
||||
default=40,
|
||||
help="number of days to use for prediction.",
|
||||
)
|
||||
parser.add_argument(
|
||||
"-d",
|
||||
"--days",
|
||||
action="store",
|
||||
dest="n_days",
|
||||
type=check_positive,
|
||||
default=5,
|
||||
help="prediction days.",
|
||||
)
|
||||
parser.add_argument(
|
||||
"-j",
|
||||
"--jumps",
|
||||
action="store",
|
||||
dest="n_jumps",
|
||||
type=check_positive,
|
||||
default=1,
|
||||
help="number of jumps in training data.",
|
||||
)
|
||||
parser.add_argument(
|
||||
"-e",
|
||||
"--end",
|
||||
action="store",
|
||||
type=valid_date,
|
||||
dest="s_end_date",
|
||||
default=None,
|
||||
help="The end date (format YYYY-MM-DD) to select - Backtesting",
|
||||
)
|
||||
parser.add_argument(
|
||||
"-p",
|
||||
"--polynomial",
|
||||
action="store",
|
||||
dest="n_polynomial",
|
||||
type=check_positive,
|
||||
default=1,
|
||||
help="polynomial associated with regression.",
|
||||
)
|
||||
if (
|
||||
other_args
|
||||
and "-h" not in other_args
|
||||
and ("-p" not in other_args or "--polynomial" not in other_args)
|
||||
):
|
||||
other_args.insert(0, "-p")
|
||||
ns_parser = parse_known_args_and_warn(
|
||||
parser, other_args, export_allowed=EXPORT_ONLY_FIGURES_ALLOWED
|
||||
)
|
||||
if ns_parser:
|
||||
# BACKTESTING CHECK
|
||||
if ns_parser.s_end_date:
|
||||
if ns_parser.s_end_date < self.df.index[0]:
|
||||
console.print(
|
||||
"Backtesting not allowed, since End Date is older than Start Date of historical data\n"
|
||||
)
|
||||
|
||||
if ns_parser.s_end_date < get_next_stock_market_days(
|
||||
last_stock_day=self.df.index[0],
|
||||
n_next_days=5 + ns_parser.n_days,
|
||||
)[-1]:
|
||||
console.print(
|
||||
"Backtesting not allowed, since End Date is too close to Start Date to train model\n"
|
||||
)
|
||||
|
||||
regression_view.display_regression(
|
||||
dataset=self.ticker,
|
||||
values=self.df[self.target],
|
||||
poly_order=ns_parser.n_polynomial,
|
||||
n_input=ns_parser.n_inputs,
|
||||
n_predict=ns_parser.n_days,
|
||||
n_jumps=ns_parser.n_jumps,
|
||||
s_end_date=ns_parser.s_end_date,
|
||||
export=ns_parser.export,
|
||||
)
|
||||
|
||||
def call_arima(self, other_args: List[str]):
|
||||
"""Process arima command"""
|
||||
parser = argparse.ArgumentParser(
|
||||
add_help=False,
|
||||
formatter_class=argparse.ArgumentDefaultsHelpFormatter,
|
||||
prog="arima",
|
||||
description="""
|
||||
In statistics and econometrics, and in particular in time series analysis, an
|
||||
autoregressive integrated moving average (ARIMA) model is a generalization of an
|
||||
autoregressive moving average (ARMA) model. Both of these models are fitted to time
|
||||
series data either to better understand the data or to predict future points in the
|
||||
series (forecasting). ARIMA(p,d,q) where parameters p, d, and q are non-negative
|
||||
integers, p is the order (number of time lags) of the autoregressive model, d is the
|
||||
degree of differencing (the number of times the data have had past values subtracted),
|
||||
and q is the order of the moving-average model.
|
||||
""",
|
||||
)
|
||||
parser.add_argument(
|
||||
"-d",
|
||||
"--days",
|
||||
action="store",
|
||||
dest="n_days",
|
||||
type=check_positive,
|
||||
default=5,
|
||||
help="prediction days.",
|
||||
)
|
||||
parser.add_argument(
|
||||
"-i",
|
||||
"--ic",
|
||||
action="store",
|
||||
dest="s_ic",
|
||||
type=str,
|
||||
default="aic",
|
||||
choices=arima_model.ICS,
|
||||
help="information criteria.",
|
||||
)
|
||||
parser.add_argument(
|
||||
"-s",
|
||||
"--seasonal",
|
||||
action="store_true",
|
||||
default=False,
|
||||
dest="b_seasonal",
|
||||
help="Use weekly seasonal data.",
|
||||
)
|
||||
parser.add_argument(
|
||||
"-o",
|
||||
"--order",
|
||||
action="store",
|
||||
dest="s_order",
|
||||
default="",
|
||||
type=str,
|
||||
help="arima model order (p,d,q) in format: p,d,q.",
|
||||
)
|
||||
parser.add_argument(
|
||||
"-r",
|
||||
"--results",
|
||||
action="store_true",
|
||||
dest="b_results",
|
||||
default=False,
|
||||
help="results about ARIMA summary flag.",
|
||||
)
|
||||
parser.add_argument(
|
||||
"-e",
|
||||
"--end",
|
||||
action="store",
|
||||
type=valid_date,
|
||||
dest="s_end_date",
|
||||
default=None,
|
||||
help="The end date (format YYYY-MM-DD) to select - Backtesting",
|
||||
)
|
||||
ns_parser = parse_known_args_and_warn(
|
||||
parser, other_args, export_allowed=EXPORT_ONLY_FIGURES_ALLOWED
|
||||
)
|
||||
if ns_parser:
|
||||
# BACKTESTING CHECK
|
||||
if ns_parser.s_end_date:
|
||||
|
||||
if ns_parser.s_end_date < self.df.index[0]:
|
||||
console.print(
|
||||
"Backtesting not allowed, since End Date is older than Start Date of historical data\n"
|
||||
)
|
||||
|
||||
if ns_parser.s_end_date < get_next_stock_market_days(
|
||||
last_stock_day=self.df.index[0],
|
||||
n_next_days=5 + ns_parser.n_days,
|
||||
)[-1]:
|
||||
console.print(
|
||||
"Backtesting not allowed, since End Date is too close to Start Date to train model\n"
|
||||
)
|
||||
|
||||
arima_view.display_arima(
|
||||
dataset=self.ticker,
|
||||
values=self.df[self.target],
|
||||
arima_order=ns_parser.s_order,
|
||||
n_predict=ns_parser.n_days,
|
||||
seasonal=ns_parser.b_seasonal,
|
||||
ic=ns_parser.s_ic,
|
||||
results=ns_parser.b_results,
|
||||
s_end_date=ns_parser.s_end_date,
|
||||
export=ns_parser.export,
|
||||
)
|
||||
|
||||
def call_mlp(self, other_args: List[str]):
|
||||
"""Process mlp command"""
|
||||
try:
|
||||
ns_parser = pred_helper.parse_args(
|
||||
prog="mlp",
|
||||
description="""Multi-Layered-Perceptron. """,
|
||||
other_args=other_args,
|
||||
)
|
||||
if ns_parser:
|
||||
neural_networks_view.display_mlp(
|
||||
dataset=self.ticker,
|
||||
data=self.df[self.target],
|
||||
n_input_days=ns_parser.n_inputs,
|
||||
n_predict_days=ns_parser.n_days,
|
||||
learning_rate=ns_parser.lr,
|
||||
epochs=ns_parser.n_epochs,
|
||||
batch_size=ns_parser.n_batch_size,
|
||||
test_size=ns_parser.valid_split,
|
||||
n_loops=ns_parser.n_loops,
|
||||
no_shuffle=ns_parser.no_shuffle,
|
||||
)
|
||||
except Exception as e:
|
||||
console.print(e, "\n")
|
||||
|
||||
finally:
|
||||
pred_helper.restore_env()
|
||||
|
||||
def call_rnn(self, other_args: List[str]):
|
||||
"""Process rnn command"""
|
||||
try:
|
||||
ns_parser = pred_helper.parse_args(
|
||||
prog="rnn",
|
||||
description="""Recurrent Neural Network. """,
|
||||
other_args=other_args,
|
||||
)
|
||||
if ns_parser:
|
||||
neural_networks_view.display_rnn(
|
||||
dataset=self.ticker,
|
||||
data=self.df[self.target],
|
||||
n_input_days=ns_parser.n_inputs,
|
||||
n_predict_days=ns_parser.n_days,
|
||||
learning_rate=ns_parser.lr,
|
||||
epochs=ns_parser.n_epochs,
|
||||
batch_size=ns_parser.n_batch_size,
|
||||
test_size=ns_parser.valid_split,
|
||||
n_loops=ns_parser.n_loops,
|
||||
no_shuffle=ns_parser.no_shuffle,
|
||||
)
|
||||
|
||||
except Exception as e:
|
||||
console.print(e, "\n")
|
||||
|
||||
finally:
|
||||
pred_helper.restore_env()
|
||||
|
||||
def call_lstm(self, other_args: List[str]):
|
||||
"""Process lstm command"""
|
||||
try:
|
||||
ns_parser = pred_helper.parse_args(
|
||||
prog="lstm",
|
||||
description="""Long-Short Term Memory. """,
|
||||
other_args=other_args,
|
||||
)
|
||||
if ns_parser:
|
||||
neural_networks_view.display_lstm(
|
||||
dataset=self.ticker,
|
||||
data=self.df[self.target],
|
||||
n_input_days=ns_parser.n_inputs,
|
||||
n_predict_days=ns_parser.n_days,
|
||||
learning_rate=ns_parser.lr,
|
||||
epochs=ns_parser.n_epochs,
|
||||
batch_size=ns_parser.n_batch_size,
|
||||
test_size=ns_parser.valid_split,
|
||||
n_loops=ns_parser.n_loops,
|
||||
no_shuffle=ns_parser.no_shuffle,
|
||||
)
|
||||
|
||||
except Exception as e:
|
||||
console.print(e, "\n")
|
||||
|
||||
finally:
|
||||
pred_helper.restore_env()
|
||||
|
||||
def call_conv1d(self, other_args: List[str]):
|
||||
"""Process conv1d command"""
|
||||
try:
|
||||
ns_parser = pred_helper.parse_args(
|
||||
prog="conv1d",
|
||||
description="""1D CNN.""",
|
||||
other_args=other_args,
|
||||
)
|
||||
if ns_parser:
|
||||
neural_networks_view.display_conv1d(
|
||||
dataset=self.ticker,
|
||||
data=self.df[self.target],
|
||||
n_input_days=ns_parser.n_inputs,
|
||||
n_predict_days=ns_parser.n_days,
|
||||
learning_rate=ns_parser.lr,
|
||||
epochs=ns_parser.n_epochs,
|
||||
batch_size=ns_parser.n_batch_size,
|
||||
test_size=ns_parser.valid_split,
|
||||
n_loops=ns_parser.n_loops,
|
||||
no_shuffle=ns_parser.no_shuffle,
|
||||
)
|
||||
|
||||
except Exception as e:
|
||||
console.print(e, "\n")
|
||||
|
||||
finally:
|
||||
pred_helper.restore_env()
|
||||
|
||||
def call_mc(self, other_args: List[str]):
|
||||
"""Process mc command"""
|
||||
parser = argparse.ArgumentParser(
|
||||
formatter_class=argparse.ArgumentDefaultsHelpFormatter,
|
||||
add_help=False,
|
||||
prog="mc",
|
||||
description="""
|
||||
Perform Monte Carlo forecasting
|
||||
""",
|
||||
)
|
||||
parser.add_argument(
|
||||
"-d",
|
||||
"--days",
|
||||
help="Days to predict",
|
||||
dest="n_days",
|
||||
type=check_positive,
|
||||
default=30,
|
||||
)
|
||||
parser.add_argument(
|
||||
"-n",
|
||||
"--num",
|
||||
help="Number of simulations to perform",
|
||||
dest="n_sims",
|
||||
default=100,
|
||||
)
|
||||
parser.add_argument(
|
||||
"--dist",
|
||||
choices=mc_model.DISTRIBUTIONS,
|
||||
default="lognormal",
|
||||
dest="dist",
|
||||
help="Whether to model returns or log returns",
|
||||
)
|
||||
|
||||
ns_parser = parse_known_args_and_warn(
|
||||
parser, other_args, export_allowed=EXPORT_ONLY_FIGURES_ALLOWED
|
||||
)
|
||||
if ns_parser:
|
||||
if self.target != "AdjClose":
|
||||
console.print("MC Prediction designed for AdjClose prices\n")
|
||||
|
||||
mc_view.display_mc_forecast(
|
||||
data=self.df[self.target],
|
||||
n_future=ns_parser.n_days,
|
||||
n_sims=ns_parser.n_sims,
|
||||
use_log=ns_parser.dist == "lognormal",
|
||||
export=ns_parser.export,
|
||||
)
|
||||
694
gamestonk_terminal/custom/quantitative_analysis/qa_controller.py
Normal file
694
gamestonk_terminal/custom/quantitative_analysis/qa_controller.py
Normal file
@@ -0,0 +1,694 @@
|
||||
"""Custom Quantitative Analysis Controller Module"""
|
||||
__docformat__ = "numpy"
|
||||
|
||||
import argparse
|
||||
from typing import List
|
||||
from pathlib import Path
|
||||
|
||||
import pandas as pd
|
||||
from prompt_toolkit.completion import NestedCompleter
|
||||
from gamestonk_terminal.rich_config import console
|
||||
from gamestonk_terminal.parent_classes import BaseController
|
||||
from gamestonk_terminal.common.quantitative_analysis import (
|
||||
qa_view,
|
||||
rolling_view,
|
||||
)
|
||||
from gamestonk_terminal import feature_flags as gtff
|
||||
from gamestonk_terminal.helper_funcs import (
|
||||
EXPORT_ONLY_RAW_DATA_ALLOWED,
|
||||
EXPORT_ONLY_FIGURES_ALLOWED,
|
||||
check_positive,
|
||||
check_proportion_range,
|
||||
parse_known_args_and_warn,
|
||||
)
|
||||
from gamestonk_terminal.menu import session
|
||||
from gamestonk_terminal.custom import custom_model
|
||||
|
||||
|
||||
class QaController(BaseController):
|
||||
"""Quantitative Analysis Controller class"""
|
||||
|
||||
CHOICES_COMMANDS = [
|
||||
"load",
|
||||
"pick",
|
||||
"raw",
|
||||
"summary",
|
||||
"line",
|
||||
"hist",
|
||||
"cdf",
|
||||
"bw",
|
||||
"rolling",
|
||||
"decompose",
|
||||
"cusum",
|
||||
"acf",
|
||||
"spread",
|
||||
"quantile",
|
||||
"skew",
|
||||
"kurtosis",
|
||||
"normality",
|
||||
"qqplot",
|
||||
"unitroot",
|
||||
"goodness",
|
||||
"unitroot",
|
||||
"capm",
|
||||
]
|
||||
|
||||
PATH = "/custom/qa/"
|
||||
|
||||
def __init__(
|
||||
self,
|
||||
custom_df: pd.DataFrame,
|
||||
file: str,
|
||||
queue: List[str] = None,
|
||||
):
|
||||
"""Constructor"""
|
||||
super().__init__(queue)
|
||||
self.DATA_FILES = [file.name for file in Path("custom_imports").iterdir()]
|
||||
|
||||
self.df = custom_df
|
||||
self.ticker = file
|
||||
self.target = custom_df.columns[1]
|
||||
self.file = file
|
||||
|
||||
if session and gtff.USE_PROMPT_TOOLKIT:
|
||||
choices: dict = {c: {} for c in self.controller_choices}
|
||||
choices["pick"] = {c: None for c in list(custom_df.columns)}
|
||||
choices["load"] = {c: None for c in self.DATA_FILES}
|
||||
self.choices = choices
|
||||
self.completer = NestedCompleter.from_nested_dict(choices)
|
||||
|
||||
def custom_reset(self):
|
||||
"""Class specific component of reset command"""
|
||||
if self.ticker:
|
||||
if self.target:
|
||||
return ["custom", f"load {self.file}", "qa", f"pick {self.target}"]
|
||||
return ["custom", f"load {self.file}", "qa"]
|
||||
return []
|
||||
|
||||
def update_runtime_choices(self):
|
||||
if session and gtff.USE_PROMPT_TOOLKIT:
|
||||
self.choices["pick"] = {c: None for c in list(self.df.columns)}
|
||||
self.completer = NestedCompleter.from_nested_dict(self.choices)
|
||||
|
||||
def print_help(self):
|
||||
"""Print help"""
|
||||
help_text = f"""[cmds]
|
||||
load load new data file
|
||||
pick pick target column for analysis[/cmds]
|
||||
|
||||
[param]File: [/param]{self.file}
|
||||
[param]Target Column: [/param]{self.target}
|
||||
[cmds]
|
||||
[info]Statistics:[/info]
|
||||
summary brief summary statistics of loaded stock.
|
||||
normality normality statistics and tests
|
||||
unitroot unit root test for stationarity (ADF, KPSS)
|
||||
[info]Plots:[/info]
|
||||
line line plot of selected target
|
||||
hist histogram with density plot
|
||||
cdf cumulative distribution function
|
||||
bw box and whisker plot
|
||||
acf (partial) auto-correlation function differentials of prices
|
||||
qqplot residuals against standard normal curve
|
||||
[info]Rolling Metrics:[/info]
|
||||
rolling rolling mean and std deviation of prices
|
||||
spread rolling variance and std deviation of prices
|
||||
quantile rolling median and quantile of prices
|
||||
skew rolling skewness of distribution of prices
|
||||
kurtosis rolling kurtosis of distribution of prices
|
||||
[info]Other:[/info]
|
||||
raw print raw data
|
||||
decompose decomposition in cyclic-trend, season, and residuals of prices
|
||||
cusum detects abrupt changes using cumulative sum algorithm of prices[/cmds]
|
||||
"""
|
||||
console.print(text=help_text, menu="Custom - Quantitative Analysis")
|
||||
|
||||
def call_load(self, other_args: List[str]):
|
||||
"""Process load"""
|
||||
parser = argparse.ArgumentParser(
|
||||
add_help=False,
|
||||
formatter_class=argparse.ArgumentDefaultsHelpFormatter,
|
||||
prog="load",
|
||||
description="Load custom data set into a dataframe",
|
||||
)
|
||||
parser.add_argument(
|
||||
"-f",
|
||||
"--file",
|
||||
choices=self.DATA_FILES,
|
||||
help="File to load in.",
|
||||
default="test.csv",
|
||||
type=str,
|
||||
)
|
||||
|
||||
if other_args and "-" not in other_args[0][0]:
|
||||
other_args.insert(0, "-f")
|
||||
ns_parser = parse_known_args_and_warn(parser, other_args)
|
||||
if ns_parser:
|
||||
file = Path("custom_imports") / ns_parser.file
|
||||
self.df = custom_model.load(file)
|
||||
self.df.columns = self.df.columns.map(lambda x: x.lower())
|
||||
for col in self.df.columns:
|
||||
if col in ["date", "time", "timestamp"]: # Could be others?
|
||||
self.df[col] = pd.to_datetime(self.df[col])
|
||||
self.df = self.df.set_index(col)
|
||||
self.file = ns_parser.file
|
||||
self.update_runtime_choices()
|
||||
console.print("")
|
||||
|
||||
def call_pick(self, other_args: List[str]):
|
||||
"""Process pick command"""
|
||||
parser = argparse.ArgumentParser(
|
||||
formatter_class=argparse.ArgumentDefaultsHelpFormatter,
|
||||
add_help=False,
|
||||
prog="pick",
|
||||
description="""
|
||||
Change target variable
|
||||
""",
|
||||
)
|
||||
parser.add_argument(
|
||||
"-t",
|
||||
"--target",
|
||||
dest="target",
|
||||
type=lambda x: x.lower(),
|
||||
choices=list(self.df.columns),
|
||||
help="Select variable to analyze",
|
||||
)
|
||||
if other_args and "-t" not in other_args and "-h" not in other_args:
|
||||
other_args.insert(0, "-t")
|
||||
|
||||
ns_parser = parse_known_args_and_warn(parser, other_args)
|
||||
if ns_parser:
|
||||
self.target = ns_parser.target
|
||||
console.print("")
|
||||
|
||||
def call_raw(self, other_args: List[str]):
|
||||
parser = argparse.ArgumentParser(
|
||||
formatter_class=argparse.ArgumentDefaultsHelpFormatter,
|
||||
add_help=False,
|
||||
prog="raw",
|
||||
description="""
|
||||
Print raw data to console
|
||||
""",
|
||||
)
|
||||
parser.add_argument(
|
||||
"-l",
|
||||
"--limit",
|
||||
help="Number to show",
|
||||
type=check_positive,
|
||||
default=20,
|
||||
dest="limit",
|
||||
)
|
||||
parser.add_argument(
|
||||
"-d",
|
||||
"--descend",
|
||||
action="store_true",
|
||||
default=False,
|
||||
dest="descend",
|
||||
help="Sort in descending order",
|
||||
)
|
||||
|
||||
ns_parser = parse_known_args_and_warn(
|
||||
parser, other_args, export_allowed=EXPORT_ONLY_RAW_DATA_ALLOWED
|
||||
)
|
||||
if ns_parser:
|
||||
qa_view.display_raw(
|
||||
self.df[self.target],
|
||||
num=ns_parser.limit,
|
||||
sort="",
|
||||
des=ns_parser.descend,
|
||||
export=ns_parser.export,
|
||||
)
|
||||
|
||||
def call_summary(self, other_args: List[str]):
|
||||
"""Process summary command"""
|
||||
parser = argparse.ArgumentParser(
|
||||
formatter_class=argparse.ArgumentDefaultsHelpFormatter,
|
||||
add_help=False,
|
||||
prog="summary",
|
||||
description="""
|
||||
Summary statistics
|
||||
""",
|
||||
)
|
||||
ns_parser = parse_known_args_and_warn(
|
||||
parser, other_args, export_allowed=EXPORT_ONLY_RAW_DATA_ALLOWED
|
||||
)
|
||||
if ns_parser:
|
||||
qa_view.display_summary(df=self.df, export=ns_parser.export)
|
||||
|
||||
def call_line(self, other_args: List[str]):
|
||||
"""Process line command"""
|
||||
parser = argparse.ArgumentParser(
|
||||
formatter_class=argparse.ArgumentDefaultsHelpFormatter,
|
||||
add_help=False,
|
||||
prog="line",
|
||||
description="Show line plot of selected data",
|
||||
)
|
||||
parser.add_argument(
|
||||
"--log",
|
||||
help="Plot with y on log scale",
|
||||
dest="log",
|
||||
action="store_true",
|
||||
default=False,
|
||||
)
|
||||
parser.add_argument(
|
||||
"-d",
|
||||
"--draw",
|
||||
help="Draw lines and annotate on the plot",
|
||||
dest="draw",
|
||||
action="store_true",
|
||||
default=False,
|
||||
)
|
||||
|
||||
ns_parser = parse_known_args_and_warn(
|
||||
parser, other_args, export_allowed=EXPORT_ONLY_FIGURES_ALLOWED
|
||||
)
|
||||
if ns_parser:
|
||||
qa_view.display_line(
|
||||
self.df[self.target],
|
||||
title=f"{self.ticker} {self.target}",
|
||||
log_y=ns_parser.log,
|
||||
draw=ns_parser.draw,
|
||||
)
|
||||
|
||||
def call_hist(self, other_args: List[str]):
|
||||
"""Process hist command"""
|
||||
parser = argparse.ArgumentParser(
|
||||
formatter_class=argparse.ArgumentDefaultsHelpFormatter,
|
||||
add_help=False,
|
||||
prog="hist",
|
||||
description="""
|
||||
Histogram with density and rug
|
||||
""",
|
||||
)
|
||||
parser.add_argument(
|
||||
"-b", "--bins", type=check_positive, default=15, dest="n_bins"
|
||||
)
|
||||
ns_parser = parse_known_args_and_warn(parser, other_args)
|
||||
if ns_parser:
|
||||
qa_view.display_hist(
|
||||
name=self.ticker,
|
||||
df=self.df,
|
||||
target=self.target,
|
||||
bins=ns_parser.n_bins,
|
||||
)
|
||||
|
||||
def call_cdf(self, other_args: List[str]):
|
||||
"""Process cdf command"""
|
||||
parser = argparse.ArgumentParser(
|
||||
formatter_class=argparse.ArgumentDefaultsHelpFormatter,
|
||||
add_help=False,
|
||||
prog="cdf",
|
||||
description="""
|
||||
Cumulative distribution function
|
||||
""",
|
||||
)
|
||||
ns_parser = parse_known_args_and_warn(
|
||||
parser, other_args, export_allowed=EXPORT_ONLY_RAW_DATA_ALLOWED
|
||||
)
|
||||
if ns_parser:
|
||||
qa_view.display_cdf(
|
||||
name=self.ticker,
|
||||
df=self.df,
|
||||
target=self.target,
|
||||
export=ns_parser.export,
|
||||
)
|
||||
|
||||
def call_bw(self, other_args: List[str]):
|
||||
"""Process bwy command"""
|
||||
parser = argparse.ArgumentParser(
|
||||
formatter_class=argparse.ArgumentDefaultsHelpFormatter,
|
||||
add_help=False,
|
||||
prog="bw",
|
||||
description="""
|
||||
Box and Whisker plot
|
||||
""",
|
||||
)
|
||||
parser.add_argument(
|
||||
"-y",
|
||||
"--yearly",
|
||||
action="store_true",
|
||||
default=False,
|
||||
dest="year",
|
||||
help="Flag to show yearly bw plot",
|
||||
)
|
||||
ns_parser = parse_known_args_and_warn(parser, other_args)
|
||||
if ns_parser:
|
||||
qa_view.display_bw(
|
||||
name=self.ticker,
|
||||
df=self.df,
|
||||
target=self.target,
|
||||
yearly=ns_parser.year,
|
||||
)
|
||||
|
||||
def call_decompose(self, other_args: List[str]):
|
||||
"""Process decompose command"""
|
||||
parser = argparse.ArgumentParser(
|
||||
add_help=False,
|
||||
formatter_class=argparse.ArgumentDefaultsHelpFormatter,
|
||||
prog="decompose",
|
||||
description="""
|
||||
Decompose time series as:
|
||||
- Additive Time Series = Level + CyclicTrend + Residual + Seasonality
|
||||
- Multiplicative Time Series = Level * CyclicTrend * Residual * Seasonality
|
||||
""",
|
||||
)
|
||||
parser.add_argument(
|
||||
"-m",
|
||||
"--multiplicative",
|
||||
action="store_true",
|
||||
default=False,
|
||||
dest="multiplicative",
|
||||
help="decompose using multiplicative model instead of additive",
|
||||
)
|
||||
ns_parser = parse_known_args_and_warn(
|
||||
parser, other_args, export_allowed=EXPORT_ONLY_RAW_DATA_ALLOWED
|
||||
)
|
||||
if ns_parser:
|
||||
qa_view.display_seasonal(
|
||||
name=self.ticker,
|
||||
df=self.df,
|
||||
target=self.target,
|
||||
multiplicative=ns_parser.multiplicative,
|
||||
export=ns_parser.export,
|
||||
)
|
||||
|
||||
def call_cusum(self, other_args: List[str]):
|
||||
"""Process cusum command"""
|
||||
parser = argparse.ArgumentParser(
|
||||
add_help=False,
|
||||
formatter_class=argparse.ArgumentDefaultsHelpFormatter,
|
||||
prog="cusum",
|
||||
description="""
|
||||
Cumulative sum algorithm (CUSUM) to detect abrupt changes in data
|
||||
""",
|
||||
)
|
||||
parser.add_argument(
|
||||
"-t",
|
||||
"--threshold",
|
||||
dest="threshold",
|
||||
type=float,
|
||||
default=(
|
||||
max(self.df[self.target].values) - min(self.df[self.target].values)
|
||||
)
|
||||
/ 40,
|
||||
help="threshold",
|
||||
)
|
||||
parser.add_argument(
|
||||
"-d",
|
||||
"--drift",
|
||||
dest="drift",
|
||||
type=float,
|
||||
default=(
|
||||
max(self.df[self.target].values) - min(self.df[self.target].values)
|
||||
)
|
||||
/ 80,
|
||||
help="drift",
|
||||
)
|
||||
ns_parser = parse_known_args_and_warn(parser, other_args)
|
||||
if ns_parser:
|
||||
qa_view.display_cusum(
|
||||
df=self.df,
|
||||
target=self.target,
|
||||
threshold=ns_parser.threshold,
|
||||
drift=ns_parser.drift,
|
||||
)
|
||||
|
||||
def call_acf(self, other_args: List[str]):
|
||||
"""Process acf command"""
|
||||
parser = argparse.ArgumentParser(
|
||||
add_help=False,
|
||||
formatter_class=argparse.ArgumentDefaultsHelpFormatter,
|
||||
prog="acf",
|
||||
description="""
|
||||
Auto-Correlation and Partial Auto-Correlation Functions for diff and diff diff stock data
|
||||
""",
|
||||
)
|
||||
parser.add_argument(
|
||||
"-l",
|
||||
"--lags",
|
||||
dest="lags",
|
||||
type=check_positive,
|
||||
default=15,
|
||||
help="maximum lags to display in plots",
|
||||
)
|
||||
ns_parser = parse_known_args_and_warn(parser, other_args)
|
||||
if ns_parser:
|
||||
qa_view.display_acf(
|
||||
name=self.ticker,
|
||||
df=self.df,
|
||||
target=self.target,
|
||||
lags=ns_parser.lags,
|
||||
)
|
||||
|
||||
def call_rolling(self, other_args: List[str]):
|
||||
"""Process rolling command"""
|
||||
parser = argparse.ArgumentParser(
|
||||
add_help=False,
|
||||
formatter_class=argparse.ArgumentDefaultsHelpFormatter,
|
||||
prog="rolling",
|
||||
description="""
|
||||
Rolling mean and std deviation
|
||||
""",
|
||||
)
|
||||
parser.add_argument(
|
||||
"-l",
|
||||
"--length",
|
||||
action="store",
|
||||
dest="n_length",
|
||||
type=check_positive,
|
||||
default=14,
|
||||
help="Window length",
|
||||
)
|
||||
ns_parser = parse_known_args_and_warn(
|
||||
parser, other_args, export_allowed=EXPORT_ONLY_RAW_DATA_ALLOWED
|
||||
)
|
||||
if ns_parser:
|
||||
rolling_view.display_mean_std(
|
||||
name=self.ticker,
|
||||
df=self.df,
|
||||
target=self.target,
|
||||
length=ns_parser.n_length,
|
||||
export=ns_parser.export,
|
||||
)
|
||||
|
||||
def call_spread(self, other_args: List[str]):
|
||||
"""Process spread command"""
|
||||
parser = argparse.ArgumentParser(
|
||||
add_help=False,
|
||||
formatter_class=argparse.ArgumentDefaultsHelpFormatter,
|
||||
prog="spread",
|
||||
description="""Shows rolling spread measurement
|
||||
""",
|
||||
)
|
||||
parser.add_argument(
|
||||
"-l",
|
||||
"--length",
|
||||
action="store",
|
||||
dest="n_length",
|
||||
type=check_positive,
|
||||
default=14,
|
||||
help="Window length",
|
||||
)
|
||||
ns_parser = parse_known_args_and_warn(
|
||||
parser, other_args, export_allowed=EXPORT_ONLY_RAW_DATA_ALLOWED
|
||||
)
|
||||
if ns_parser:
|
||||
rolling_view.display_spread(
|
||||
name=self.ticker,
|
||||
df=self.df,
|
||||
target=self.target,
|
||||
length=ns_parser.n_length,
|
||||
export=ns_parser.export,
|
||||
)
|
||||
|
||||
def call_quantile(self, other_args: List[str]):
|
||||
"""Process quantile command"""
|
||||
parser = argparse.ArgumentParser(
|
||||
add_help=False,
|
||||
formatter_class=argparse.ArgumentDefaultsHelpFormatter,
|
||||
prog="quantile",
|
||||
description="""
|
||||
The quantiles are values which divide the distribution such that
|
||||
there is a given proportion of observations below the quantile.
|
||||
For example, the median is a quantile. The median is the central
|
||||
value of the distribution, such that half the points are less than
|
||||
or equal to it and half are greater than or equal to it.
|
||||
|
||||
By default, q is set at 0.5, which effectively is median. Change q to
|
||||
get the desired quantile (0<q<1).
|
||||
""",
|
||||
)
|
||||
parser.add_argument(
|
||||
"-l",
|
||||
"--length",
|
||||
action="store",
|
||||
dest="n_length",
|
||||
type=check_positive,
|
||||
default=14,
|
||||
help="length",
|
||||
)
|
||||
parser.add_argument(
|
||||
"-q",
|
||||
"--quantile",
|
||||
action="store",
|
||||
dest="f_quantile",
|
||||
type=check_proportion_range,
|
||||
default=0.5,
|
||||
help="quantile",
|
||||
)
|
||||
ns_parser = parse_known_args_and_warn(
|
||||
parser, other_args, export_allowed=EXPORT_ONLY_RAW_DATA_ALLOWED
|
||||
)
|
||||
if ns_parser:
|
||||
rolling_view.display_quantile(
|
||||
name=self.ticker,
|
||||
df=self.df,
|
||||
target=self.target,
|
||||
length=ns_parser.n_length,
|
||||
quantile=ns_parser.f_quantile,
|
||||
export=ns_parser.export,
|
||||
)
|
||||
|
||||
def call_skew(self, other_args: List[str]):
|
||||
"""Process skew command"""
|
||||
parser = argparse.ArgumentParser(
|
||||
add_help=False,
|
||||
formatter_class=argparse.ArgumentDefaultsHelpFormatter,
|
||||
prog="skew",
|
||||
description="""
|
||||
Skewness is a measure of asymmetry or distortion of symmetric
|
||||
distribution. It measures the deviation of the given distribution
|
||||
of a random variable from a symmetric distribution, such as normal
|
||||
distribution. A normal distribution is without any skewness, as it is
|
||||
symmetrical on both sides. Hence, a curve is regarded as skewed if
|
||||
it is shifted towards the right or the left.
|
||||
""",
|
||||
)
|
||||
parser.add_argument(
|
||||
"-l",
|
||||
"--length",
|
||||
action="store",
|
||||
dest="n_length",
|
||||
type=check_positive,
|
||||
default=14,
|
||||
help="length",
|
||||
)
|
||||
ns_parser = parse_known_args_and_warn(
|
||||
parser, other_args, export_allowed=EXPORT_ONLY_RAW_DATA_ALLOWED
|
||||
)
|
||||
if ns_parser:
|
||||
rolling_view.display_skew(
|
||||
name=self.ticker,
|
||||
df=self.df,
|
||||
target=self.target,
|
||||
length=ns_parser.n_length,
|
||||
export=ns_parser.export,
|
||||
)
|
||||
|
||||
def call_kurtosis(self, other_args: List[str]):
|
||||
"""Process kurtosis command"""
|
||||
parser = argparse.ArgumentParser(
|
||||
add_help=False,
|
||||
formatter_class=argparse.ArgumentDefaultsHelpFormatter,
|
||||
prog="kurtosis",
|
||||
description="""
|
||||
Kurtosis is a measure of the "tailedness" of the probability distribution
|
||||
of a real-valued random variable. Like skewness, kurtosis describes the shape
|
||||
of a probability distribution and there are different ways of quantifying it
|
||||
for a theoretical distribution and corresponding ways of estimating it from
|
||||
a sample from a population. Different measures of kurtosis may have different
|
||||
interpretations.
|
||||
""",
|
||||
)
|
||||
parser.add_argument(
|
||||
"-l",
|
||||
"--length",
|
||||
action="store",
|
||||
dest="n_length",
|
||||
type=check_positive,
|
||||
default=14,
|
||||
help="length",
|
||||
)
|
||||
ns_parser = parse_known_args_and_warn(
|
||||
parser, other_args, export_allowed=EXPORT_ONLY_RAW_DATA_ALLOWED
|
||||
)
|
||||
if ns_parser:
|
||||
rolling_view.display_kurtosis(
|
||||
name=self.ticker,
|
||||
df=self.df,
|
||||
target=self.target,
|
||||
length=ns_parser.n_length,
|
||||
export=ns_parser.export,
|
||||
)
|
||||
|
||||
def call_normality(self, other_args: List[str]):
|
||||
"""Process normality command"""
|
||||
parser = argparse.ArgumentParser(
|
||||
add_help=False,
|
||||
formatter_class=argparse.ArgumentDefaultsHelpFormatter,
|
||||
prog="normality",
|
||||
description="""
|
||||
Normality tests
|
||||
""",
|
||||
)
|
||||
ns_parser = parse_known_args_and_warn(
|
||||
parser, other_args, export_allowed=EXPORT_ONLY_RAW_DATA_ALLOWED
|
||||
)
|
||||
if ns_parser:
|
||||
qa_view.display_normality(
|
||||
df=self.df, target=self.target, export=ns_parser.export
|
||||
)
|
||||
|
||||
def call_qqplot(self, other_args: List[str]):
|
||||
"""Process qqplot command"""
|
||||
parser = argparse.ArgumentParser(
|
||||
add_help=False,
|
||||
formatter_class=argparse.ArgumentDefaultsHelpFormatter,
|
||||
prog="qqplot",
|
||||
description="""
|
||||
Display QQ plot vs normal quantiles
|
||||
""",
|
||||
)
|
||||
ns_parser = parse_known_args_and_warn(parser, other_args)
|
||||
if ns_parser:
|
||||
qa_view.display_qqplot(name=self.ticker, df=self.df, target=self.target)
|
||||
|
||||
def call_unitroot(self, other_args: List[str]):
|
||||
"""Process unitroot command"""
|
||||
parser = argparse.ArgumentParser(
|
||||
add_help=False,
|
||||
formatter_class=argparse.ArgumentDefaultsHelpFormatter,
|
||||
prog="unitroot",
|
||||
description="""
|
||||
Unit root test / stationarity (ADF, KPSS)
|
||||
""",
|
||||
)
|
||||
parser.add_argument(
|
||||
"-r",
|
||||
"--fuller_reg",
|
||||
help="Type of regression. Can be ‘c’,’ct’,’ctt’,’nc’ 'c' - Constant and t - trend order",
|
||||
choices=["c", "ct", "ctt", "nc"],
|
||||
default="c",
|
||||
type=str,
|
||||
dest="fuller_reg",
|
||||
)
|
||||
parser.add_argument(
|
||||
"-k",
|
||||
"--kps_reg",
|
||||
help="Type of regression. Can be ‘c’,’ct'",
|
||||
choices=["c", "ct"],
|
||||
type=str,
|
||||
dest="kpss_reg",
|
||||
default="c",
|
||||
)
|
||||
ns_parser = parse_known_args_and_warn(
|
||||
parser, other_args, export_allowed=EXPORT_ONLY_RAW_DATA_ALLOWED
|
||||
)
|
||||
if ns_parser:
|
||||
qa_view.display_unitroot(
|
||||
df=self.df,
|
||||
target=self.target,
|
||||
fuller_reg=ns_parser.fuller_reg,
|
||||
kpss_reg=ns_parser.kpss_reg,
|
||||
export=ns_parser.export,
|
||||
)
|
||||
12
terminal.py
12
terminal.py
@@ -54,6 +54,7 @@ class TerminalController(BaseController):
|
||||
"jupyter",
|
||||
"funds",
|
||||
"alternative",
|
||||
"custom",
|
||||
]
|
||||
|
||||
PATH = "/"
|
||||
@@ -117,7 +118,8 @@ class TerminalController(BaseController):
|
||||
> funds
|
||||
> alternative
|
||||
> portfolio
|
||||
> jupyter [/menu]
|
||||
> jupyter
|
||||
> custom[/menu]
|
||||
""",
|
||||
menu="Home",
|
||||
)
|
||||
@@ -186,6 +188,14 @@ class TerminalController(BaseController):
|
||||
|
||||
self.queue = self.load_class(AlternativeDataController, self.queue)
|
||||
|
||||
def call_custom(self, _):
|
||||
"""Process custom command"""
|
||||
from gamestonk_terminal.custom.custom_controller import (
|
||||
CustomDataController,
|
||||
)
|
||||
|
||||
self.queue = CustomDataController(self.queue).menu()
|
||||
|
||||
def call_portfolio(self, _):
|
||||
"""Process portfolio command"""
|
||||
from gamestonk_terminal.portfolio.portfolio_controller import (
|
||||
|
||||
0
tests/gamestonk_terminal/custom/__init__.py
Normal file
0
tests/gamestonk_terminal/custom/__init__.py
Normal file
1
tests/gamestonk_terminal/custom/csv/test_custom_model/test_test_empty_load.csv
vendored
Normal file
1
tests/gamestonk_terminal/custom/csv/test_custom_model/test_test_empty_load.csv
vendored
Normal file
@@ -0,0 +1 @@
|
||||
""
|
||||
|
733
tests/gamestonk_terminal/custom/csv/test_custom_model/test_test_load[test.csv].csv
vendored
Normal file
733
tests/gamestonk_terminal/custom/csv/test_custom_model/test_test_load[test.csv].csv
vendored
Normal file
@@ -0,0 +1,733 @@
|
||||
,Date,ColNorm,Col2,ColNorm3,ColB
|
||||
0,2020-01-01,0.9999525702125136,1.0123130194965917,1.0086674575012688,0.0012027960377402
|
||||
1,2020-01-02,0.9838498192741062,1.0234212550466153,1.0042245214721552,0.0045169035346944
|
||||
2,2020-01-03,1.0026921290619135,1.0197488119578415,1.0062436813305022,0.0070350680624013
|
||||
3,2020-01-04,0.9880559292083876,1.0333080955589942,1.0443020108362489,0.0088117310231277
|
||||
4,2020-01-05,0.9779970244070624,1.0800643722419347,1.0793343716705162,0.0196964997565137
|
||||
5,2020-01-06,0.9769190810755058,1.074084939646055,1.0576481541518057,0.0208943158741584
|
||||
6,2020-01-07,0.9766394732308502,1.0543684802965811,1.0610302031972367,0.0220428194274246
|
||||
7,2020-01-08,1.012957091642494,1.052787445634228,1.0726969194936098,0.0244418693919771
|
||||
8,2020-01-09,1.0358984262904671,1.0837030226137805,1.0728332396061548,0.0255663318038535
|
||||
9,2020-01-10,1.0573273623296362,1.0514770924225432,1.0712841902537005,0.0278123015990601
|
||||
10,2020-01-11,1.0591295348101435,1.0293934727855478,1.057462172431816,0.0360959942158686
|
||||
11,2020-01-12,1.0479705339307217,1.089499710414309,1.053145773285828,0.0375737257051632
|
||||
12,2020-01-13,1.0135011066008446,1.0647814334478265,1.0307643076773845,0.0470267106266825
|
||||
13,2020-01-14,1.0129001854523945,1.0838484969617903,1.0214500559731443,0.0486577320173068
|
||||
14,2020-01-15,1.0327050271538776,1.0974755645383598,1.0158943158591365,0.0500936104670989
|
||||
15,2020-01-16,1.0401611506598178,1.1055856016959222,1.017570962222138,0.0515465102839185
|
||||
16,2020-01-17,1.0592005527980166,1.1251400688546165,1.0279746739739088,0.0521490546360502
|
||||
17,2020-01-18,1.0656988484365215,1.123318105612665,1.0057696407317656,0.0570627810698871
|
||||
18,2020-01-19,1.0774050013473389,1.1391739427677507,1.0214163214305862,0.062085692889891
|
||||
19,2020-01-20,1.0743932195444494,1.1184045199564303,1.019103884716816,0.0648965634869696
|
||||
20,2020-01-21,1.069314627826471,1.1213902310033308,0.981727142869055,0.0709592988965688
|
||||
21,2020-01-22,1.0677838384124778,1.1101107117435527,0.9937753008992988,0.0740639075019701
|
||||
22,2020-01-23,1.0721837052909196,1.1231339322396712,1.00631703646881,0.076067291406056
|
||||
23,2020-01-24,1.0519412984859928,1.1292660530353713,1.0249133848091416,0.0777320147929826
|
||||
24,2020-01-25,1.014405351240412,1.1270914610841392,1.053700783473425,0.0798086505929941
|
||||
25,2020-01-26,1.023527191979995,1.1363592258852364,1.066955769678183,0.0853007785853044
|
||||
26,2020-01-27,1.0608121282898904,1.155767423142797,1.0649251904848016,0.0910585807223935
|
||||
27,2020-01-28,1.0610896881458836,1.187299895431334,1.0910155077242598,0.0968549348783691
|
||||
28,2020-01-29,1.0729846116865194,1.2129254292196707,1.0953355367602375,0.0974095864886109
|
||||
29,2020-01-30,1.1070155748383577,1.2225436274180337,1.1023786574966623,0.0984865985233506
|
||||
30,2020-01-31,1.1276468893948646,1.2167827264140132,1.087327864804962,0.1018550517665027
|
||||
31,2020-02-01,1.1273047110213463,1.208962891615007,1.095389877912996,0.1024637537043749
|
||||
32,2020-02-02,1.164524331136035,1.2141411850554893,1.0930563724386055,0.1040640739745576
|
||||
33,2020-02-03,1.1572415510154523,1.1731428473855654,1.1125836529439332,0.1081854083827091
|
||||
34,2020-02-04,1.1361884175838584,1.1741534743835529,1.1507406424420272,0.1137348681906963
|
||||
35,2020-02-05,1.1328844654206718,1.189851742059982,1.1516666823668786,0.1172947318621993
|
||||
36,2020-02-06,1.157728280609622,1.2199844255344168,1.162932891423088,0.1178542214000958
|
||||
37,2020-02-07,1.1537281271596571,1.2108667382965952,1.1507328444594875,0.1219182826206924
|
||||
38,2020-02-08,1.1692835730858917,1.2005025310124493,1.1151541642382754,0.1245781864184379
|
||||
39,2020-02-09,1.1919668653879631,1.2198402911308477,1.1186168740068323,0.127578616159381
|
||||
40,2020-02-10,1.1928488801117072,1.2301072065077974,1.1002903004732305,0.1739579517084183
|
||||
41,2020-02-11,1.1655878985554615,1.2630467330117316,1.0765044535602653,0.1813400011074207
|
||||
42,2020-02-12,1.1819220888988409,1.252233090663622,1.0685134162077423,0.2069576836007362
|
||||
43,2020-02-13,1.20516552991063,1.2727144276434823,1.0952376144030738,0.2175794313553614
|
||||
44,2020-02-14,1.1630851464386232,1.32482490333701,1.0802690129905057,0.22080516417558
|
||||
45,2020-02-15,1.1467354653830693,1.3020387895317278,1.0732991680664263,0.2246416403749116
|
||||
46,2020-02-16,1.1383471887580776,1.3137746751723582,1.0387338079814246,0.2250781884637397
|
||||
47,2020-02-17,1.1103773042013343,1.339470245723512,1.0028362328380314,0.2319505028795682
|
||||
48,2020-02-18,1.0734165165514695,1.3427623639089172,1.0424779786809035,0.233948520381319
|
||||
49,2020-02-19,1.113218756875525,1.4013943415047097,1.056102987205335,0.2356225674364548
|
||||
50,2020-02-20,1.1071272883991254,1.4541633632206468,1.057236795132449,0.2506012730602552
|
||||
51,2020-02-21,1.105724295358014,1.4401036704211707,1.0483308464436794,0.252015240745399
|
||||
52,2020-02-22,1.0993215352651164,1.444722748437034,1.089531331294008,0.2524740991954332
|
||||
53,2020-02-23,1.0932176054208576,1.460026364375726,1.0792794931408676,0.2528642055216732
|
||||
54,2020-02-24,1.0587243077330883,1.4486161918765983,1.1104674454138383,0.2544510710653562
|
||||
55,2020-02-25,1.0620148726350802,1.424154391889335,1.0773223233839628,0.2569377491253046
|
||||
56,2020-02-26,1.0315209557997354,1.4164177419504709,1.0739795914770394,0.2595023947775753
|
||||
57,2020-02-27,1.0408864320197757,1.4801992864018505,1.1116443448045423,0.2608802454779044
|
||||
58,2020-02-28,1.0376663474071368,1.488716043093164,1.1356346930253116,0.2634814008834721
|
||||
59,2020-02-29,1.0467208549192988,1.5173215466718972,1.107889288405897,0.2642320286926164
|
||||
60,2020-03-01,1.0207093385614625,1.5412863838442494,1.122015128887988,0.2696751096472305
|
||||
61,2020-03-02,1.037525121662198,1.5581551034870829,1.1309415361145174,0.2746277237987294
|
||||
62,2020-03-03,1.0248401372030551,1.5458008902947489,1.1345250503379347,0.276759867831347
|
||||
63,2020-03-04,1.0258486982695476,1.559046676440168,1.1400009349876374,0.2896253077473681
|
||||
64,2020-03-05,1.002432979064144,1.5755262943159305,1.1318408085437592,0.2952623175828989
|
||||
65,2020-03-06,1.012488554893676,1.57564855922825,1.111311254937364,0.2981023789116054
|
||||
66,2020-03-07,1.0117961369959636,1.577395480438564,1.11650214408987,0.3006270600511418
|
||||
67,2020-03-08,1.015909711457398,1.610322754539839,1.0839244099353011,0.3020935922040628
|
||||
68,2020-03-09,1.0601538083004134,1.641502594941999,1.1109289188088738,0.3084158226632153
|
||||
69,2020-03-10,1.077941802984011,1.6317374964162892,1.0963222783091269,0.3094796037573752
|
||||
70,2020-03-11,1.1260532732244517,1.6490931415766832,1.0936697895045775,0.3099120345112846
|
||||
71,2020-03-12,1.110425622953289,1.6984993918604234,1.1216131487616146,0.3107492140216191
|
||||
72,2020-03-13,1.0856390325998322,1.6757575671134193,1.1309905076439204,0.3127434128908777
|
||||
73,2020-03-14,1.086150833705044,1.7073637516801137,1.1323850834053195,0.3141475455207612
|
||||
74,2020-03-15,1.077681015174759,1.6393961270334048,1.110184175943251,0.3153838542164429
|
||||
75,2020-03-16,1.053414211346851,1.6332378686087845,1.1075827734284756,0.3195017910314937
|
||||
76,2020-03-17,1.0357752542856478,1.646157391988908,1.1148804108874288,0.3230351913660134
|
||||
77,2020-03-18,0.9882913088675116,1.6616420864028898,1.092897650763299,0.3295140538669318
|
||||
78,2020-03-19,0.9915459150909368,1.694505495048448,1.106224258642294,0.3344208868768074
|
||||
79,2020-03-20,0.9677329692322276,1.7011229906107403,1.1389107240383651,0.3352960661280704
|
||||
80,2020-03-21,0.9645668876148116,1.7509973638490954,1.1131190034356908,0.3371362857767921
|
||||
81,2020-03-22,1.009732918005037,1.7555981219117516,1.1097518910234518,0.3433541011482433
|
||||
82,2020-03-23,1.0029827116571677,1.7743131674956232,1.142290844824632,0.3472350134816184
|
||||
83,2020-03-24,0.9940867326226468,1.8231853913696645,1.1557981350878588,0.3643581466680069
|
||||
84,2020-03-25,0.9698510310554864,1.7593514459496429,1.1623510025356016,0.366882019715107
|
||||
85,2020-03-26,0.9783694635515996,1.7587696051447823,1.1324509088625785,0.367345994699916
|
||||
86,2020-03-27,0.9535087219102176,1.7401060630906493,1.154405728070701,0.3702776655887957
|
||||
87,2020-03-28,0.9418042827123154,1.7538896088257767,1.137007812796809,0.3708727657834398
|
||||
88,2020-03-29,0.96810433350236,1.760480911558011,1.1305910909597376,0.3725369987816818
|
||||
89,2020-03-30,0.974808825820155,1.752151672427521,1.1502789106909037,0.3744820967547409
|
||||
90,2020-03-31,0.9797504957740842,1.798575628301122,1.1535167565595437,0.3763987104629137
|
||||
91,2020-04-01,0.9628955439898036,1.827407571913591,1.1544205314866829,0.3799940149129052
|
||||
92,2020-04-02,0.9754932364091348,1.823294796220288,1.1564781737474252,0.3803440468931394
|
||||
93,2020-04-03,0.9873275891659168,1.7946562572896825,1.1849738887150674,0.3864074719660551
|
||||
94,2020-04-04,1.0108288103468548,1.7973517877152347,1.180157980015465,0.3901233102314478
|
||||
95,2020-04-05,0.9736148567642324,1.80442470587344,1.1850774038437282,0.3917694853658946
|
||||
96,2020-04-06,0.9653399776332668,1.8169983102180665,1.1616633135761325,0.3924900453927962
|
||||
97,2020-04-07,0.962409208328386,1.8141745618144527,1.178300401559042,0.3931171173402186
|
||||
98,2020-04-08,0.9628876392544286,1.9084553610072683,1.1641229279184822,0.3968013538209139
|
||||
99,2020-04-09,0.933369717590292,1.9025819037665184,1.1717578731799263,0.3976608679533875
|
||||
100,2020-04-10,0.9143682378409272,1.894923659910556,1.156556367606632,0.3996420215008127
|
||||
101,2020-04-11,0.895385718148122,1.9343903671704852,1.188574497939751,0.401212865147451
|
||||
102,2020-04-12,0.8740743938425345,1.942691462578191,1.211134163737765,0.4029746610916818
|
||||
103,2020-04-13,0.8380660562735384,1.8612114156206196,1.253856740874506,0.4211446222095411
|
||||
104,2020-04-14,0.8520114930850722,1.8606048835295304,1.275827191139803,0.421660334278797
|
||||
105,2020-04-15,0.8516344906028086,1.8683539523097044,1.2518731047748377,0.4220666798026594
|
||||
106,2020-04-16,0.835552610602664,1.792725972711403,1.2793659536199955,0.4243347485856604
|
||||
107,2020-04-17,0.833052910582975,1.758248128204534,1.2561704403633422,0.4252241763854585
|
||||
108,2020-04-18,0.8392859957724058,1.7337610362834268,1.2786915765601048,0.4275722984496844
|
||||
109,2020-04-19,0.8746610758965373,1.6954668619732205,1.2678897090741963,0.4305271478114172
|
||||
110,2020-04-20,0.878673788351075,1.713805058565187,1.2502906968207468,0.4317764713835109
|
||||
111,2020-04-21,0.8767535247546682,1.7632021018354378,1.2663055769932812,0.432302590299184
|
||||
112,2020-04-22,0.8770307343047253,1.789303994954698,1.2449466921867858,0.4359168191347973
|
||||
113,2020-04-23,0.8688819247505064,1.7801178820506536,1.247319180623821,0.4371477978526634
|
||||
114,2020-04-24,0.8712572077489298,1.8126629459732944,1.1785850108864555,0.4393666393556777
|
||||
115,2020-04-25,0.8752019965989468,1.7826892137128605,1.1619577030622186,0.4422207982621592
|
||||
116,2020-04-26,0.8738342993845689,1.7692676011973314,1.1772604709486858,0.4467959023170046
|
||||
117,2020-04-27,0.8597736281199799,1.816336026575841,1.2207076138026107,0.4513805049700852
|
||||
118,2020-04-28,0.8281893226773166,1.7791160644096362,1.204458594661689,0.4546959458841382
|
||||
119,2020-04-29,0.836203177555408,1.7935299496511174,1.2244487110001496,0.4551943083943147
|
||||
120,2020-04-30,0.8433768320154121,1.8021267508275396,1.2186995964505196,0.456487714432498
|
||||
121,2020-05-01,0.8610574283159262,1.817988049012224,1.211596391706884,0.5032677683170869
|
||||
122,2020-05-02,0.8348339155837669,1.8329762133715592,1.232334831194072,0.5061044878931531
|
||||
123,2020-05-03,0.8294266411564094,1.747093745984997,1.223432738495758,0.5105113908002137
|
||||
124,2020-05-04,0.8405262716109546,1.7492904866442132,1.203764954374566,0.5130162377726127
|
||||
125,2020-05-05,0.8639276597819987,1.8076326060564027,1.1787876114922382,0.5144834231314999
|
||||
126,2020-05-06,0.8706715188631232,1.8152317063308048,1.1898508286284304,0.5163417466277547
|
||||
127,2020-05-07,0.8932902477660367,1.8248944901012816,1.1745421075877225,0.5253116053925546
|
||||
128,2020-05-08,0.9292530093247632,1.8666259242266827,1.1888858396446629,0.5261093638134726
|
||||
129,2020-05-09,0.914099566383566,1.8535959293626267,1.2058210197303287,0.5275315455348729
|
||||
130,2020-05-10,0.9008725520848792,1.8596853538255087,1.155408426884541,0.5286975757051593
|
||||
131,2020-05-11,0.9003979758283102,1.928069431657337,1.2107378814039818,0.5325518241586814
|
||||
132,2020-05-12,0.8900230757659284,1.8875159123215,1.1839027235470037,0.5337608887621328
|
||||
133,2020-05-13,0.9006958785299365,1.9123856010771008,1.195637404491816,0.5348093389633294
|
||||
134,2020-05-14,0.9036296113002158,1.9097025948365047,1.198912413792671,0.5376854931262441
|
||||
135,2020-05-15,0.9075433132199904,1.9846404281453107,1.2343851890405677,0.5437445517365902
|
||||
136,2020-05-16,0.8848998045208422,1.96183376357326,1.2117440383193852,0.5450930567159439
|
||||
137,2020-05-17,0.8830579864449316,1.913198176076837,1.2130085537858446,0.5520390802990911
|
||||
138,2020-05-18,0.8846769581394759,1.9632588698129176,1.2071416880612174,0.5544325112904755
|
||||
139,2020-05-19,0.9154201534517432,1.983510242203672,1.175360910642843,0.5583256085292775
|
||||
140,2020-05-20,0.9344135262197314,1.9683606589154656,1.1673976905013788,0.560208080529156
|
||||
141,2020-05-21,0.9732143169767572,1.93602343463149,1.17798079610132,0.5616098967643237
|
||||
142,2020-05-22,0.9730686691285166,1.9286876318079813,1.2185774476851847,0.5638831776794241
|
||||
143,2020-05-23,0.9878609570461824,1.9436075518434304,1.1970035409307191,0.5642855262406092
|
||||
144,2020-05-24,0.9963683545647176,1.9689072056752608,1.2300920949665672,0.5658770969529832
|
||||
145,2020-05-25,1.0018174257470982,1.9807455978731523,1.2863295043597427,0.5670664570002988
|
||||
146,2020-05-26,1.0323794656420129,1.986433207227409,1.2820608514026766,0.5689351200686489
|
||||
147,2020-05-27,1.0591764088147717,2.018300990083014,1.3087971163195562,0.5791493210849563
|
||||
148,2020-05-28,1.0543565899384209,1.9630661666978968,1.3372792287811608,0.5833566476963967
|
||||
149,2020-05-29,1.0419595558177783,1.898840299065144,1.3293907653782011,0.5842304945675731
|
||||
150,2020-05-30,1.0414202992577273,1.882316871058859,1.3291038297915918,0.5860386077339174
|
||||
151,2020-05-31,1.0572880297659135,1.904557874358223,1.306170615874509,0.5882642097939847
|
||||
152,2020-06-01,1.0520606263574148,1.8445426749048743,1.3339942892029724,0.5900023274500287
|
||||
153,2020-06-02,1.0659722213586111,1.8570302564383951,1.3558757821530338,0.5909020647119387
|
||||
154,2020-06-03,1.0656039525363368,1.8743014801338012,1.372185688108781,0.5920474859439436
|
||||
155,2020-06-04,1.0358577638256254,1.930773225339492,1.3526282848180564,0.5944853954946582
|
||||
156,2020-06-05,1.0089333673953484,1.9898046345316736,1.362817804631571,0.5956210659548
|
||||
157,2020-06-06,1.019691939909397,2.021669352765277,1.3859341395415308,0.5964508371820592
|
||||
158,2020-06-07,1.021781040273442,1.9723469958642448,1.3787384116005414,0.5989637695603802
|
||||
159,2020-06-08,1.0216307354401244,1.9143159472475904,1.3569619025531028,0.5997279251321306
|
||||
160,2020-06-09,1.0252951525306686,1.963520522504312,1.3878055537360765,0.6008055961191918
|
||||
161,2020-06-10,1.0569657982856673,2.033830642354532,1.4099079973949116,0.603045804651097
|
||||
162,2020-06-11,1.0587301242900011,1.978263433471916,1.3977391153857357,0.6150561437971321
|
||||
163,2020-06-12,1.0714306810044087,1.9771940498211436,1.4206170585270756,0.6179519882991029
|
||||
164,2020-06-13,1.0522387861832565,1.9728414295620895,1.3762378861610598,0.6207784844352121
|
||||
165,2020-06-14,1.0475181490250334,1.9522977210035048,1.3788453761592088,0.6273159598727789
|
||||
166,2020-06-15,1.0234072353225911,1.940233262776903,1.412147349198787,0.6279621706403626
|
||||
167,2020-06-16,1.0189227881643943,1.9399345009150728,1.4200695913506778,0.6299345113347883
|
||||
168,2020-06-17,1.001028085535756,1.9674301947596375,1.4196530534097238,0.6354196210129143
|
||||
169,2020-06-18,0.9912641618976554,1.9251588499668064,1.4343893896623496,0.6358630075674107
|
||||
170,2020-06-19,0.9805087526933828,1.999420088393108,1.4158425001018318,0.6406732231437341
|
||||
171,2020-06-20,1.009464040256068,2.0493123790500967,1.4486299245023713,0.6424250037998596
|
||||
172,2020-06-21,0.995258597640962,2.076953051639768,1.4478176424803664,0.644099320786275
|
||||
173,2020-06-22,0.9855112363074202,2.154240810255652,1.4728892769819055,0.65280314288818
|
||||
174,2020-06-23,1.0073268728636948,2.250014679802232,1.4336431865428896,0.6537610284791265
|
||||
175,2020-06-24,1.0066322355863426,2.2249349095517776,1.456538552996501,0.6642644900169009
|
||||
176,2020-06-25,0.9575855268333074,2.2522471079270177,1.4489673649411032,0.6662331802982429
|
||||
177,2020-06-26,0.9337977450912276,2.2473360044363764,1.4219169403245642,0.6712327430274364
|
||||
178,2020-06-27,0.9382604578618756,2.212321320270245,1.4158204261628429,0.6718141645698742
|
||||
179,2020-06-28,0.9465411154535148,2.2052582536214502,1.430120185324235,0.6748761659021221
|
||||
180,2020-06-29,0.9676702771137916,2.2248062051288158,1.4205700210255785,0.6777010977843823
|
||||
181,2020-06-30,0.9730242802452448,2.2246965725926624,1.431301037561824,0.6810713167270627
|
||||
182,2020-07-01,1.0168182246966204,2.1805611732536536,1.413869125858902,0.6854507253006858
|
||||
183,2020-07-02,0.9884133039324408,2.1187033637482977,1.4585566422685736,0.6914250722668893
|
||||
184,2020-07-03,0.9585398824348964,2.2376378185309136,1.470639941407874,0.6981504848050071
|
||||
185,2020-07-04,0.9595913158376672,2.3120006109496005,1.4819897523145185,0.701585449803921
|
||||
186,2020-07-05,0.9757235638340338,2.2774986228750245,1.4960258331955485,0.7149469105534326
|
||||
187,2020-07-06,0.9827376276758062,2.284390059042172,1.4898515668154009,0.7170969248236969
|
||||
188,2020-07-07,0.948286988931661,2.3596790863844497,1.4884166060259274,0.7200363865166225
|
||||
189,2020-07-08,0.95983945474466,2.342853703036813,1.4814014755271234,0.733944628256304
|
||||
190,2020-07-09,0.9887179191768426,2.334739011274857,1.4816150241435395,0.7505784071243449
|
||||
191,2020-07-10,0.9802149969178716,2.3289077061155044,1.5012839517690568,0.7542827121165976
|
||||
192,2020-07-11,1.0111801099245266,2.3762608242412484,1.4822256204365474,0.7577808445549317
|
||||
193,2020-07-12,0.9908774679553788,2.338739493642145,1.496822968623334,0.7581841098807811
|
||||
194,2020-07-13,1.0150580794369408,2.390438995464025,1.5178366494862991,0.7590465695525171
|
||||
195,2020-07-14,1.0261743177955382,2.3420718549672097,1.5061115657909745,0.7639942976386366
|
||||
196,2020-07-15,1.0133960284012418,2.285218813106673,1.5284744513591788,0.7658450238084406
|
||||
197,2020-07-16,1.0033585655883903,2.2916211474658827,1.5526985398838336,0.7668377473401666
|
||||
198,2020-07-17,1.0214254580426407,2.284796272086247,1.5683537788630093,0.773666458664223
|
||||
199,2020-07-18,1.0258147735393115,2.326074282269038,1.5819812060864555,0.7741125330133553
|
||||
200,2020-07-19,1.0277799488903645,2.313494157425774,1.5255583651924849,0.7826372141983156
|
||||
201,2020-07-20,1.0250278191733373,2.278818786219646,1.54493640675825,0.7849066005951117
|
||||
202,2020-07-21,1.0257995914283935,2.292032861748544,1.569525788453222,0.7905005243387364
|
||||
203,2020-07-22,1.0267879097412551,2.3357189250696235,1.6379610352759344,0.7927312499590004
|
||||
204,2020-07-23,1.0389261663290388,2.274538179283752,1.6741344875394764,0.7932923787420468
|
||||
205,2020-07-24,1.0090611425619138,2.27252655110798,1.6670325422686327,0.800327607061777
|
||||
206,2020-07-25,1.011131386204713,2.279455373088168,1.6518090188831571,0.8014076085285011
|
||||
207,2020-07-26,1.0067105716491014,2.337111200552414,1.6158039012294794,0.8029224068101758
|
||||
208,2020-07-27,0.9943272432378184,2.344620817213409,1.6592134355369357,0.8044242114850151
|
||||
209,2020-07-28,0.9771854889328592,2.3668944985219684,1.6834148760009815,0.8067735795987538
|
||||
210,2020-07-29,0.987198955879071,2.365490030794681,1.6573657588652606,0.8085471775881818
|
||||
211,2020-07-30,0.9888543540371442,2.4186434653114315,1.6948554904645168,0.8093127338406706
|
||||
212,2020-07-31,0.9842301412324336,2.439618652810949,1.6977441737817598,0.8150204456713851
|
||||
213,2020-08-01,0.965140237243522,2.377041923209997,1.7130192709673835,0.820727682415597
|
||||
214,2020-08-02,0.9584029809666004,2.391147596111345,1.7102510175672765,0.8230434914696654
|
||||
215,2020-08-03,0.9759006091717436,2.316994177690388,1.677597065066447,0.8235096815101353
|
||||
216,2020-08-04,0.9501373549633252,2.323459066512072,1.719964069915885,0.8300941688326845
|
||||
217,2020-08-05,0.9604065612739536,2.330382213682331,1.7245154724647795,0.8330687581297908
|
||||
218,2020-08-06,0.9763594060576908,2.299066090311157,1.7136462533090864,0.8353346614561531
|
||||
219,2020-08-07,0.9825778589100208,2.3206391377668742,1.735286635750923,0.8405502317307677
|
||||
220,2020-08-08,1.002223311947791,2.3345124788636893,1.7789867378872073,0.848667172533915
|
||||
221,2020-08-09,0.9741775954468116,2.324104123933205,1.7881689205814135,0.8492059663380161
|
||||
222,2020-08-10,1.0023146422045273,2.380876833106436,1.8032339491973044,0.8504486714663375
|
||||
223,2020-08-11,1.041041647377543,2.31250123856628,1.8030267541146656,0.8506876858913054
|
||||
224,2020-08-12,1.0503909012329131,2.2980280882739854,1.814121400862128,0.8546087121913079
|
||||
225,2020-08-13,1.0569775764121196,2.3306666186256813,1.8310081827506195,0.8662994428865795
|
||||
226,2020-08-14,1.0610751998772194,2.3363040378262765,1.8097627942752057,0.8678325823246228
|
||||
227,2020-08-15,1.0587074374476746,2.284354698047326,1.78066771262294,0.8703173049285419
|
||||
228,2020-08-16,1.0302801853601309,2.244669782814108,1.7874584634073545,0.8801515329571722
|
||||
229,2020-08-17,0.988389400363924,2.3008989810868967,1.834774742181476,0.8882193510501148
|
||||
230,2020-08-18,0.9965310714959243,2.277271539983884,1.8060015128893776,0.8903683125160616
|
||||
231,2020-08-19,0.9922031367470384,2.3985652088118314,1.8263341549540528,0.8988293192841955
|
||||
232,2020-08-20,1.027869324879812,2.401476749244662,1.8651570576166208,0.8996447236089339
|
||||
233,2020-08-21,1.0307882824097565,2.4298134048782725,1.8874087431140567,0.9029573621962058
|
||||
234,2020-08-22,1.033084478026869,2.524433815776165,1.8877290724455,0.9037817003330142
|
||||
235,2020-08-23,1.0307265586558385,2.41630656700321,1.96601286697562,0.905290251932482
|
||||
236,2020-08-24,1.076840824462609,2.5079409618888984,1.9931871139673032,0.907257965074012
|
||||
237,2020-08-25,1.0642272088309062,2.4408526399836687,1.9102886541833064,0.9125308220473052
|
||||
238,2020-08-26,1.064986098507313,2.4741390097786224,1.9360680365863483,0.9176898336714856
|
||||
239,2020-08-27,1.0461636798460097,2.4800899394650915,1.906140707374937,0.92212480176119
|
||||
240,2020-08-28,1.063683537843083,2.452096428706089,1.888102130599118,0.9253155271734814
|
||||
241,2020-08-29,1.0398601013283904,2.483553938997862,1.8943904930876097,0.9391703700917096
|
||||
242,2020-08-30,1.0503472744755464,2.514267169622637,1.9286179775958905,0.9399395481270428
|
||||
243,2020-08-31,1.055469538934899,2.3986857123937475,1.8901320637279215,0.9417255088015568
|
||||
244,2020-09-01,1.103704230856668,2.4178944247065166,1.905143584657302,0.9429029942886286
|
||||
245,2020-09-02,1.0766389180345612,2.4034828942230027,1.9092635728505407,0.9533946056060972
|
||||
246,2020-09-03,1.097258004052795,2.377451768705276,1.970945078105912,0.9539742648075352
|
||||
247,2020-09-04,1.1083404943935349,2.3690200841752365,1.9654370007435749,0.9550537111541528
|
||||
248,2020-09-05,1.1202557945126657,2.3123747748020107,1.9676260548319016,0.95775836895992
|
||||
249,2020-09-06,1.1342844694618273,2.2983710604071907,2.007218107882284,0.9611411682535352
|
||||
250,2020-09-07,1.1117651443837435,2.282342396269001,2.066542147784256,0.9656206307046504
|
||||
251,2020-09-08,1.108258511313643,2.190755615666369,2.0715962187251686,0.9723784553998674
|
||||
252,2020-09-09,1.1113533876662005,2.259163550560165,2.166177533441628,0.97616171542827
|
||||
253,2020-09-10,1.105488663733078,2.32395378441192,2.1034191507163205,0.9771250074759058
|
||||
254,2020-09-11,1.1039642088212858,2.2641895522206923,2.081607237299805,0.9864870215008484
|
||||
255,2020-09-12,1.1185770391430765,2.2546066083105702,2.047143847752991,0.988477465020745
|
||||
256,2020-09-13,1.06280057345609,2.2899804484534214,2.073500906870503,0.9948467554922772
|
||||
257,2020-09-14,1.0891822636651172,2.3070774686351068,2.141489389912244,1.002187845607817
|
||||
258,2020-09-15,1.0962564434820237,2.276193543449068,2.246327530781324,1.0032217115443585
|
||||
259,2020-09-16,1.1115531181137768,2.274219345565829,2.2357721025416546,1.0043792081936729
|
||||
260,2020-09-17,1.085958416988806,2.2752096704885765,2.201605853297032,1.0093393608511672
|
||||
261,2020-09-18,1.146245860222447,2.282190388787204,2.160640867885381,1.0123463768773904
|
||||
262,2020-09-19,1.1537778222934163,2.2253933387650817,2.090306972247148,1.020003702924207
|
||||
263,2020-09-20,1.149390714927409,2.16159784585839,2.073014099305851,1.0220680452699864
|
||||
264,2020-09-21,1.1541331367221972,2.130893491509205,2.0458377760738213,1.0396518237179782
|
||||
265,2020-09-22,1.1498129074160868,2.0926609204347097,2.0541372762601307,1.04091758424457
|
||||
266,2020-09-23,1.1446406343043778,2.118764207726457,2.05092994681724,1.0418509181037665
|
||||
267,2020-09-24,1.1700927924576905,2.091529617399207,2.05527559437275,1.0441420349922217
|
||||
268,2020-09-25,1.1838819765686317,1.984742627815592,1.981147691585461,1.0524944862588177
|
||||
269,2020-09-26,1.184236071270645,1.986599749963918,2.04374843291446,1.0539827163149076
|
||||
270,2020-09-27,1.1872652432410735,1.9923360376683188,2.05958133489356,1.056606955810706
|
||||
271,2020-09-28,1.2111686025938448,2.0269520976346267,2.0885116021757817,1.0637811330951057
|
||||
272,2020-09-29,1.2128187476172962,2.008974500012182,2.141271010388752,1.06704093548368
|
||||
273,2020-09-30,1.1837228636173038,1.9414782887063275,2.1037135913846106,1.070035239356136
|
||||
274,2020-10-01,1.2012784798748295,1.920766227019244,2.1904585636141896,1.072285071441802
|
||||
275,2020-10-02,1.229928289695723,1.926246724868972,2.164058954726515,1.0749903591448788
|
||||
276,2020-10-03,1.2576720294059205,1.9050928318638207,2.240899882087869,1.0772598449622313
|
||||
277,2020-10-04,1.259111975610874,1.9081145172437453,2.17868462965396,1.0790982068698378
|
||||
278,2020-10-05,1.214480304726046,1.9296654214009312,2.191037732205339,1.0799573343473532
|
||||
279,2020-10-06,1.2367119988436592,1.9930332488883804,2.157949722207713,1.0894433635430334
|
||||
280,2020-10-07,1.1918461991333509,1.9366558570031924,2.1786587345427613,1.0929286737055888
|
||||
281,2020-10-08,1.2047382866267795,1.970056651551864,2.2589719642075976,1.093509097146584
|
||||
282,2020-10-09,1.1955393840662745,1.9858037585074448,2.3163382795183165,1.0957275047277275
|
||||
283,2020-10-10,1.1867078724647688,2.0718447898888432,2.295617357121811,1.0970848927362955
|
||||
284,2020-10-11,1.207258078161285,2.039773597640912,2.308352241653706,1.1031996811027127
|
||||
285,2020-10-12,1.2495117298527116,2.0519212522973787,2.358790991672946,1.104976811517453
|
||||
286,2020-10-13,1.2341412949594146,2.0094725225776973,2.3420936881844754,1.1185499443882925
|
||||
287,2020-10-14,1.2074457000680026,2.031792948771168,2.344083278864812,1.1200324757830094
|
||||
288,2020-10-15,1.220685304663726,2.016528400615362,2.308499703000712,1.1210530992163392
|
||||
289,2020-10-16,1.2319782138752635,2.033347365968653,2.3700021947604704,1.1356783068906011
|
||||
290,2020-10-17,1.243988762755584,2.0766664578138805,2.4031351237219822,1.1374256499103377
|
||||
291,2020-10-18,1.258781393604108,2.105837478503288,2.3539787387736784,1.140862883538152
|
||||
292,2020-10-19,1.2792088654733011,2.163539707503391,2.402843392203179,1.1842957188393533
|
||||
293,2020-10-20,1.3144972047916126,2.111218248768162,2.431707789969741,1.187223117766127
|
||||
294,2020-10-21,1.3280614214950373,2.1331589617090265,2.416394603004804,1.1913137320144669
|
||||
295,2020-10-22,1.3387862074636503,2.107535080984876,2.368341209224261,1.194596165781971
|
||||
296,2020-10-23,1.3970068606474848,2.098383962783049,2.3540653842863253,1.1953094065118848
|
||||
297,2020-10-24,1.3950098407949878,2.1082489951221866,2.3878235750331687,1.1960562746315428
|
||||
298,2020-10-25,1.3683339090881992,2.134722332926158,2.444757578755241,1.196971813667161
|
||||
299,2020-10-26,1.3597019290012515,2.132377251897591,2.550425021636159,1.1999538998132655
|
||||
300,2020-10-27,1.3252947022819863,2.110245072482122,2.5552854101958564,1.2460468434315568
|
||||
301,2020-10-28,1.350487359981082,2.139784381749084,2.5033398105082383,1.2474069077322734
|
||||
302,2020-10-29,1.3532600119165674,2.104690167136623,2.4389435031573834,1.2544441138139752
|
||||
303,2020-10-30,1.370837466174858,2.054318178776854,2.392059101280476,1.2575027402817325
|
||||
304,2020-10-31,1.436223081156546,2.119259500400969,2.327329785335115,1.2582356054099209
|
||||
305,2020-11-01,1.4339919936925012,2.1197163872917955,2.274828703304184,1.261388638872427
|
||||
306,2020-11-02,1.4422260672799314,2.1189832379676115,2.2351746919209416,1.267817347384253
|
||||
307,2020-11-03,1.4412699885652236,2.102704314368752,2.2367901934335976,1.2817313772420904
|
||||
308,2020-11-04,1.419078208431615,2.1186752487054545,2.2135435667771803,1.2826957437003348
|
||||
309,2020-11-05,1.4384833276499038,2.0791707635930976,2.275386102582254,1.288912540923011
|
||||
310,2020-11-06,1.397384185555799,2.018337080228104,2.2540174817473213,1.2891166579242537
|
||||
311,2020-11-07,1.4064626040344346,2.025141230630807,2.268675318606333,1.2914058011100833
|
||||
312,2020-11-08,1.390685803984185,2.0232486822523024,2.308631854848098,1.3061809174297856
|
||||
313,2020-11-09,1.3874874292995236,2.071460924933666,2.2607000982157266,1.3070563693566266
|
||||
314,2020-11-10,1.3746878172998056,2.0837537678684472,2.2944440648182702,1.3114511900232555
|
||||
315,2020-11-11,1.3866512589572233,2.022117555885239,2.343260191406187,1.314980030238566
|
||||
316,2020-11-12,1.3462517758485009,2.0294367203043717,2.3824104193365976,1.3182725372000237
|
||||
317,2020-11-13,1.3312751205259583,2.0035421855998568,2.4281997461920106,1.3216683285938853
|
||||
318,2020-11-14,1.3776766696563163,1.923250309752576,2.4711215390402788,1.3244142233923455
|
||||
319,2020-11-15,1.366983297010691,1.9501873783889447,2.4544562234099843,1.3263463197175802
|
||||
320,2020-11-16,1.3597793148515092,1.996652165598607,2.528060405706684,1.327109604231372
|
||||
321,2020-11-17,1.3164281793115369,1.9423313390033172,2.655835725596793,1.3313585124923697
|
||||
322,2020-11-18,1.3317846715448027,1.899596306016603,2.599225325950504,1.3328689868089256
|
||||
323,2020-11-19,1.2902989563375766,1.8806147463941167,2.551595094440797,1.3337422662350422
|
||||
324,2020-11-20,1.2749496031828011,1.8986996205516704,2.530436419305703,1.337173285028032
|
||||
325,2020-11-21,1.2434267658113127,1.904706777775782,2.5108927102295926,1.344624105977383
|
||||
326,2020-11-22,1.2706429172588554,1.870104994476517,2.590074707794605,1.3469166244396142
|
||||
327,2020-11-23,1.2828191519336425,1.936549753732673,2.650096538165582,1.3490808275610164
|
||||
328,2020-11-24,1.3041379804862103,1.934827468646432,2.627959424025244,1.355618417193334
|
||||
329,2020-11-25,1.2987110107751347,1.8670997186862424,2.6316490214502246,1.3570177935958083
|
||||
330,2020-11-26,1.3269329819747593,1.8424779259913635,2.6388179194852506,1.3614280845340117
|
||||
331,2020-11-27,1.3152746770511103,1.868995558521188,2.568674083936485,1.364075927386591
|
||||
332,2020-11-28,1.3506954933107598,1.933073473149457,2.594778736009084,1.373337402945247
|
||||
333,2020-11-29,1.3386361921791448,1.952838059952042,2.606648540927484,1.383557305443774
|
||||
334,2020-11-30,1.3618661935526004,2.0103250717243943,2.569802850158569,1.385963521814751
|
||||
335,2020-12-01,1.39567603999526,2.052104646425733,2.5104994197308232,1.3877380840292992
|
||||
336,2020-12-02,1.392074385575624,2.0675494523563653,2.485566207076336,1.3882444898984934
|
||||
337,2020-12-03,1.3819273790411657,2.093861994727276,2.421808351103554,1.3890153699132768
|
||||
338,2020-12-04,1.4051363849106822,2.170997511179801,2.371715986075685,1.3905562618256002
|
||||
339,2020-12-05,1.423109636717845,2.185225636169727,2.34109872040913,1.3907666382352195
|
||||
340,2020-12-06,1.4376836310550631,2.2230317694679256,2.346232889702072,1.3939039559474664
|
||||
341,2020-12-07,1.526458472596805,2.1939381251150776,2.2648766180102133,1.4179149064159244
|
||||
342,2020-12-08,1.534007078003753,2.193890689106934,2.2376062578363416,1.4196537486195773
|
||||
343,2020-12-09,1.570120782220947,2.2521993496418387,2.323667673355853,1.4249394046116777
|
||||
344,2020-12-10,1.5739401045905157,2.2315715860387604,2.3112442787438057,1.429057781752709
|
||||
345,2020-12-11,1.5429616014165604,2.2591477950980847,2.272811825935797,1.4308906056337822
|
||||
346,2020-12-12,1.5732341553653304,2.2032364263265896,2.229900385192739,1.431547709537922
|
||||
347,2020-12-13,1.6286821951906507,2.1830978776161025,2.27740619343844,1.432422980432231
|
||||
348,2020-12-14,1.6469441508431684,2.1425076576757647,2.235261682326977,1.443150704680311
|
||||
349,2020-12-15,1.5718020183057722,2.071913884488913,2.149424018035347,1.4445448113886517
|
||||
350,2020-12-16,1.5773081091715446,2.0638551560909177,2.162347109967265,1.4451790340857336
|
||||
351,2020-12-17,1.5227909565144766,2.017921609850533,2.1672842000162413,1.445562539638661
|
||||
352,2020-12-18,1.4891923221477237,1.9897836257363235,2.176754748496434,1.4526568222617808
|
||||
353,2020-12-19,1.484870487634522,1.951277912733069,2.134627098999995,1.4601245726602683
|
||||
354,2020-12-20,1.521782461697588,1.951983033258623,2.17789187274426,1.4788068110669847
|
||||
355,2020-12-21,1.5544320141058037,1.8493659165896748,2.18099167487275,1.523962349286215
|
||||
356,2020-12-22,1.560503809998861,1.8611679736818592,2.2039993620760967,1.5246976088013535
|
||||
357,2020-12-23,1.5334971041093952,1.833002427932097,2.343476248307637,1.527360584807129
|
||||
358,2020-12-24,1.5794099876243315,1.9041534697937852,2.2901173676907534,1.5297409708066323
|
||||
359,2020-12-25,1.6065679801493142,1.9070647217180157,2.291970943251856,1.5335846648050422
|
||||
360,2020-12-26,1.622247941424142,1.8928074424100143,2.303002006218162,1.535274338910095
|
||||
361,2020-12-27,1.7015908691024355,1.8482200241927491,2.248381261571885,1.5383112052039312
|
||||
362,2020-12-28,1.6036866430723409,1.843769090979501,2.231460481628248,1.5386363487762145
|
||||
363,2020-12-29,1.5375202384191342,1.8206896498491536,2.3074157180169994,1.5408157927481176
|
||||
364,2020-12-30,1.5600630935461406,1.7826799832793585,2.2825395987056125,1.5422252257198634
|
||||
365,2020-12-31,1.5104147622873492,1.7668565507355858,2.27695238139297,1.5440584612014132
|
||||
366,2021-01-01,1.5712035235637756,1.684616284880876,2.233309322045018,1.5448667333098565
|
||||
367,2021-01-02,1.6210547964842792,1.7478151353494071,2.1574629701979298,1.548120419402096
|
||||
368,2021-01-03,1.6289254690471855,1.725836388519887,2.108581903630744,1.548817479707807
|
||||
369,2021-01-04,1.638734525965505,1.7155157917378676,2.044927121863865,1.5563047235141108
|
||||
370,2021-01-05,1.640752183801373,1.7799282303924182,2.016488033588845,1.5608661127582808
|
||||
371,2021-01-06,1.6570539499992365,1.739493941093581,2.0124389592880645,1.5631898777829367
|
||||
372,2021-01-07,1.578187832496174,1.6930194751764869,1.9445270476899643,1.5639680296502425
|
||||
373,2021-01-08,1.6227999393024517,1.7194595600353992,1.940134094720716,1.5688337294998258
|
||||
374,2021-01-09,1.6283589854096432,1.7136349981154348,1.9080431172050116,1.5723522942035664
|
||||
375,2021-01-10,1.6665194133108947,1.7489061066079217,1.9509162559238369,1.5731664693150271
|
||||
376,2021-01-11,1.6341803105808728,1.7642624682341137,1.9938916226440977,1.575127738455531
|
||||
377,2021-01-12,1.6174970779436195,1.7923811797905562,1.9915053276010664,1.5827514383987595
|
||||
378,2021-01-13,1.615274568253002,1.8107248147139583,2.0359139549100718,1.5991695679580888
|
||||
379,2021-01-14,1.5705483210122415,1.8110093914349248,2.014040713826075,1.6002182868598922
|
||||
380,2021-01-15,1.5876924325730104,1.7660637238985082,2.033374626523945,1.6009281154165214
|
||||
381,2021-01-16,1.5833856066410776,1.8357591587069988,2.0709440693792813,1.6046925481203798
|
||||
382,2021-01-17,1.6013738886591906,1.76494118939999,2.0959265396433056,1.6061847148507544
|
||||
383,2021-01-18,1.578239155108473,1.792300094514741,2.1516234015963183,1.6077436031920698
|
||||
384,2021-01-19,1.537449450971578,1.841015768739388,2.139618678346696,1.6091465678099
|
||||
385,2021-01-20,1.5270491611118588,1.9563703647019144,2.135332213061328,1.610305157178482
|
||||
386,2021-01-21,1.5228490032906876,1.953475585798639,2.151820246240724,1.6247341328796
|
||||
387,2021-01-22,1.5407475786564149,2.001785778376634,2.1879504389166824,1.6285351198690403
|
||||
388,2021-01-23,1.53299140461312,2.031064990665913,2.220387841380747,1.629948456185217
|
||||
389,2021-01-24,1.5445889585878276,2.037409850509285,2.273437555128114,1.638005012705547
|
||||
390,2021-01-25,1.58644895560336,2.0471656735959542,2.240406426382125,1.638769754048435
|
||||
391,2021-01-26,1.6226036785791869,2.108368014431792,2.155101334363854,1.6397391094752487
|
||||
392,2021-01-27,1.659383192723776,2.1732417729079967,2.252548140759632,1.64633831261166
|
||||
393,2021-01-28,1.6598891833149922,2.251700342705186,2.2430383173656727,1.655056750637973
|
||||
394,2021-01-29,1.6645972448464752,2.2182444807709443,2.258702561909861,1.6570632637103349
|
||||
395,2021-01-30,1.6583800311374666,2.2397181747086874,2.283747790019089,1.6594746246828356
|
||||
396,2021-01-31,1.6742978776507575,2.28219309133098,2.2449945212007565,1.679216139273793
|
||||
397,2021-02-01,1.6471122487215286,2.234029135013091,2.3347005588457224,1.6802015595330082
|
||||
398,2021-02-02,1.6149287680826088,2.1807981297572727,2.4359899638257314,1.686171899377342
|
||||
399,2021-02-03,1.6227338387550698,2.229245106413431,2.453599964035388,1.68930490762624
|
||||
400,2021-02-04,1.672839630544011,2.288932619594801,2.45179858236766,1.6919945407776182
|
||||
401,2021-02-05,1.7155729521519976,2.313326745666048,2.37670567388363,1.6937145764169974
|
||||
402,2021-02-06,1.7414517672992007,2.318254663422098,2.387264194297231,1.695671502362838
|
||||
403,2021-02-07,1.7720413917578024,2.3664809566426888,2.4777721668076382,1.6986218980532843
|
||||
404,2021-02-08,1.763925697497288,2.237990831118396,2.499873971884452,1.7000766613841365
|
||||
405,2021-02-09,1.834507869796782,2.41518566629607,2.552919002279553,1.715729122742066
|
||||
406,2021-02-10,1.835651382083144,2.3710976045171037,2.440534423653256,1.7163877387355817
|
||||
407,2021-02-11,1.8413081048813065,2.386345552129277,2.5432022215403247,1.7238816972371116
|
||||
408,2021-02-12,1.8497654498239464,2.399545791008636,2.5903358390807183,1.7247967038775016
|
||||
409,2021-02-13,1.885631903086976,2.326373973867991,2.4880432502469323,1.72773524757945
|
||||
410,2021-02-14,1.891688653528345,2.286846809475968,2.534049403146154,1.7283190673596367
|
||||
411,2021-02-15,1.879205069976963,2.3153570867912467,2.492408936297317,1.7292851368096562
|
||||
412,2021-02-16,1.839968824554305,2.4053844983623347,2.4770603822645016,1.731689271152427
|
||||
413,2021-02-17,1.8680257921782588,2.347633213984071,2.603642282426436,1.7355926511429076
|
||||
414,2021-02-18,1.8542029059135396,2.325881784724655,2.587474254919851,1.7365009545563137
|
||||
415,2021-02-19,1.882143268936907,2.3015734011198994,2.509811005142073,1.7374818756270234
|
||||
416,2021-02-20,1.8962267570181357,2.3243105765928385,2.546148882354917,1.747806384629749
|
||||
417,2021-02-21,1.8620055980158456,2.332880010486286,2.522556583215778,1.754398521319979
|
||||
418,2021-02-22,1.9999575696430385,2.340741505413093,2.451862583311992,1.755009060962941
|
||||
419,2021-02-23,2.042402885781202,2.376196948741956,2.3806418250084875,1.7654433572482449
|
||||
420,2021-02-24,1.9997714207092,2.392134367199,2.334373104272601,1.7668196950978072
|
||||
421,2021-02-25,1.9779708858567184,2.374661069489717,2.415740452108789,1.770506460232364
|
||||
422,2021-02-26,1.9789516205644688,2.3816546761240103,2.3429892024282744,1.7733391454918466
|
||||
423,2021-02-27,1.93466450603626,2.4461456378944346,2.3065235894018943,1.7831077679253902
|
||||
424,2021-02-28,1.9834071249674945,2.389894059542642,2.3389660816484548,1.7841591200189597
|
||||
425,2021-03-01,1.9741337047452885,2.311123684803184,2.352691827360532,1.7865375388841398
|
||||
426,2021-03-02,1.937459530362731,2.342655159280589,2.357038931141847,1.7895296836370012
|
||||
427,2021-03-03,1.9706649677688288,2.32998953803022,2.378363867496358,1.791199912081311
|
||||
428,2021-03-04,2.03454366312985,2.3866367468951792,2.392054393170012,1.7924193817202656
|
||||
429,2021-03-05,1.9716624067037412,2.3865015749563554,2.378103877859073,1.794301161383427
|
||||
430,2021-03-06,1.9878431487139971,2.4690347112045545,2.347875859464776,1.7956860000056156
|
||||
431,2021-03-07,1.956488326385587,2.5196959406891035,2.3891533436436463,1.8012345301544177
|
||||
432,2021-03-08,2.054920532591151,2.4334746001474263,2.3865526703102056,1.802248520558456
|
||||
433,2021-03-09,2.0709763477762904,2.395801888982338,2.2848109125443656,1.8072296454374943
|
||||
434,2021-03-10,2.061576297676355,2.4757913954678323,2.365479715000232,1.8128895596995835
|
||||
435,2021-03-11,1.9862895937127725,2.391079361141238,2.319173527252362,1.815566307558204
|
||||
436,2021-03-12,1.984479636847778,2.396957210396273,2.292991572792268,1.820613332862434
|
||||
437,2021-03-13,1.9739317443337248,2.448548042194237,2.30053923586084,1.8219970155911784
|
||||
438,2021-03-14,1.9898766385379367,2.43624396068609,2.345667653143889,1.8232278681126308
|
||||
439,2021-03-15,1.9247659537591737,2.4335356321894195,2.3538967830230493,1.82373620083605
|
||||
440,2021-03-16,1.9341310435961212,2.3999419292101654,2.340324638941884,1.824660227754222
|
||||
441,2021-03-17,1.9573630688785584,2.401650476079606,2.3890930472158614,1.830152091408726
|
||||
442,2021-03-18,1.916292220465363,2.4332795948146395,2.4975495346055325,1.831028803715764
|
||||
443,2021-03-19,1.890293492855104,2.487105183541092,2.532561024813717,1.831735846926717
|
||||
444,2021-03-20,1.903308311139988,2.493733053568105,2.539405350329571,1.8353913872672805
|
||||
445,2021-03-21,1.9469616337437587,2.4445653037914346,2.595591709796882,1.8410845456434617
|
||||
446,2021-03-22,1.9523561942623815,2.464833796058223,2.6360624213867467,1.8434269895174336
|
||||
447,2021-03-23,1.8778580145651456,2.48363158677985,2.7465161664442417,1.8443107942164692
|
||||
448,2021-03-24,1.9079717263254403,2.535945467088719,2.7826295754397847,1.8469647243444616
|
||||
449,2021-03-25,1.8743829208619,2.5797476302779896,2.6868861321695707,1.850122201684514
|
||||
450,2021-03-26,1.834591128454573,2.610576220050714,2.7188298676243816,1.851783846653953
|
||||
451,2021-03-27,1.85521276340418,2.573051282643857,2.7351096355129183,1.855126490928391
|
||||
452,2021-03-28,1.8141910534008308,2.5187250675787283,2.7749074182260496,1.8572472707823149
|
||||
453,2021-03-29,1.85443335913684,2.444346329329297,2.8655936571670595,1.8585862793603416
|
||||
454,2021-03-30,1.8798507924095929,2.4149038067531605,2.774884268046476,1.8629393368582885
|
||||
455,2021-03-31,1.9009488168929616,2.4112448623448826,2.6882580643517056,1.8671463378855655
|
||||
456,2021-04-01,1.953119553197379,2.4450145143439017,2.751539545331297,1.869858074220264
|
||||
457,2021-04-02,1.920843933630284,2.3945306998424014,2.721056425435808,1.87330909439513
|
||||
458,2021-04-03,1.9043823831998437,2.488542015462468,2.6598348867019803,1.878195130287063
|
||||
459,2021-04-04,1.9118325872114668,2.4300310533502008,2.7211384877273948,1.8839982986422057
|
||||
460,2021-04-05,1.9143311965206804,2.366572070037218,2.708626053048081,1.8850716239056435
|
||||
461,2021-04-06,1.886821452967837,2.380104252886121,2.686516753657998,1.8871993251779395
|
||||
462,2021-04-07,1.915272401908787,2.506237147604136,2.71344808649388,1.8934266304908811
|
||||
463,2021-04-08,1.8266991151730405,2.4886927324645174,2.646619960795338,1.8952255418305728
|
||||
464,2021-04-09,1.8500524861130607,2.416546344321693,2.6599476022507957,1.90021348011096
|
||||
465,2021-04-10,1.8195144950767264,2.465958801894828,2.6758564038772983,1.901342103380268
|
||||
466,2021-04-11,1.8251075661045568,2.4745418174804223,2.7033897124033586,1.9042278480312265
|
||||
467,2021-04-12,1.8574721140724475,2.484584953936203,2.7440593089530627,1.9077837225054788
|
||||
468,2021-04-13,1.911298058653184,2.5605874195631344,2.8414368801570378,1.909948468147297
|
||||
469,2021-04-14,1.875580359200088,2.5772966956091943,2.9171447045049925,1.911040045228034
|
||||
470,2021-04-15,1.881151828474525,2.493092715001101,2.908716499524202,1.9117571556803037
|
||||
471,2021-04-16,1.901388647119129,2.533670653002471,2.897580626540045,1.9128440540294511
|
||||
472,2021-04-17,1.8455570976557,2.5107854787646064,2.8589457667876768,1.9179509029490625
|
||||
473,2021-04-18,1.8811275456102492,2.514417473356992,2.863591117645981,1.9203758611787909
|
||||
474,2021-04-19,1.934735684533444,2.441080790840025,2.8073681187362123,1.9216773546234265
|
||||
475,2021-04-20,1.9219636087498069,2.519885067113868,2.6598177500405376,1.9223746165623772
|
||||
476,2021-04-21,1.8483009032647868,2.5668625547309216,2.630383655279064,1.925845609587103
|
||||
477,2021-04-22,1.9073036166732469,2.635200116789085,2.6391794736120544,1.9321383005793755
|
||||
478,2021-04-23,1.938789170601118,2.7159817530096486,2.6299970076917005,1.9337504327285644
|
||||
479,2021-04-24,1.925421448553977,2.68674800088486,2.621365626257928,1.9391915608669557
|
||||
480,2021-04-25,1.9151980640721529,2.641681828987044,2.698696546806226,1.945340240528056
|
||||
481,2021-04-26,1.913556055665868,2.715484483713124,2.708842009443733,1.9627177070918456
|
||||
482,2021-04-27,1.855070992253988,2.7165115356211165,2.7295919593511093,1.970618796089648
|
||||
483,2021-04-28,1.8559271396289396,2.7026332636150108,2.794411627669506,1.971611739817064
|
||||
484,2021-04-29,1.8887764888453191,2.695615707368346,2.8386011677697285,1.974002338188185
|
||||
485,2021-04-30,1.87702571919354,2.676827898815493,2.9324184345642834,1.9752019919798771
|
||||
486,2021-05-01,1.869673471855934,2.599014622216264,2.933679320366271,1.9809638585685387
|
||||
487,2021-05-02,1.8703018137152103,2.571181859813996,2.830813323929607,1.9851112456860176
|
||||
488,2021-05-03,1.9397508461882045,2.500067466520934,2.800771049001466,1.9881837519287
|
||||
489,2021-05-04,1.9662895976827104,2.4880647404085687,2.7574211065527066,1.9924446913404676
|
||||
490,2021-05-05,1.916687613630237,2.451144538313585,2.784979306504568,1.993086718932316
|
||||
491,2021-05-06,1.9105650628791355,2.492654665687748,2.7766387250167632,2.0051437219794908
|
||||
492,2021-05-07,1.96805977731422,2.550894868022315,2.792016997938374,2.0067558210471583
|
||||
493,2021-05-08,1.9762478446854252,2.5846124898397456,2.745681568662014,2.0073834860863173
|
||||
494,2021-05-09,2.0313261579996955,2.6455901447327093,2.7640253214408235,2.0101404950182102
|
||||
495,2021-05-10,2.010304032368663,2.6093978048274318,2.6839376415947034,2.011457989916723
|
||||
496,2021-05-11,1.9888886082655008,2.586485882320101,2.735085847161425,2.0154307660974595
|
||||
497,2021-05-12,2.0119766964891235,2.5795990402328908,2.7489754234614776,2.01927447499852
|
||||
498,2021-05-13,1.9812015301948789,2.5657754558807686,2.798778049554446,2.0196506872240665
|
||||
499,2021-05-14,1.9268653257020327,2.555530678112648,2.7382365105347186,2.0287022787569384
|
||||
500,2021-05-15,1.9676549288249392,2.545716493209544,2.680203454865353,2.030226357718929
|
||||
501,2021-05-16,2.0345457844885786,2.5385168890809995,2.576721986605796,2.0310066254357437
|
||||
502,2021-05-17,1.9606539671822016,2.597017465278317,2.654809884531759,2.031844316479567
|
||||
503,2021-05-18,1.949066953412906,2.665849564392086,2.6508616891901435,2.033985580665928
|
||||
504,2021-05-19,1.908705080541045,2.6746661043780247,2.642110067223141,2.0392519402125733
|
||||
505,2021-05-20,1.903219918956071,2.635660526964302,2.582226260890573,2.041634853378214
|
||||
506,2021-05-21,1.8904485215794529,2.6739417239879977,2.585266889114871,2.0421520225416194
|
||||
507,2021-05-22,1.88099088601678,2.728493647516978,2.495186539060622,2.0425147282708327
|
||||
508,2021-05-23,1.8717741643600017,2.6999196484354004,2.5273052275976875,2.046161078526562
|
||||
509,2021-05-24,1.9511923780284224,2.6590518128951506,2.584550030434049,2.0523363620478525
|
||||
510,2021-05-25,1.925866085030401,2.624531676236537,2.5733349755383266,2.064116911915137
|
||||
511,2021-05-26,1.979142234707904,2.585684531895416,2.608018521527197,2.0650347867261303
|
||||
512,2021-05-27,1.9929556304949052,2.541961224772388,2.674526052033722,2.0655998338659254
|
||||
513,2021-05-28,1.9489563897379485,2.5695891539521605,2.650415784517392,2.0667250160164565
|
||||
514,2021-05-29,1.9304517954713931,2.651379750069219,2.7292148870002166,2.0686780200258923
|
||||
515,2021-05-30,1.8956594127156408,2.68246891998668,2.870144155183717,2.075140133220369
|
||||
516,2021-05-31,1.9161351501714543,2.559842530638906,2.8986259554264184,2.0780613110690638
|
||||
517,2021-06-01,1.910572978911347,2.5699319760599626,2.934204667154654,2.079530549324124
|
||||
518,2021-06-02,1.8508997248925765,2.432473773294165,2.87091985426918,2.0849842569343293
|
||||
519,2021-06-03,1.8288566166552969,2.331982409113071,2.858127947931026,2.0855919218160386
|
||||
520,2021-06-04,1.834607275986444,2.284948722383677,2.8145071193382014,2.09555310396532
|
||||
521,2021-06-05,1.888516899793224,2.290326698915272,2.800462980076794,2.0982117670734555
|
||||
522,2021-06-06,1.8248895809375585,2.3324279303437487,2.7964135929013594,2.101846128078813
|
||||
523,2021-06-07,1.8481756289460165,2.423256010588786,2.9067171477044207,2.105787599499597
|
||||
524,2021-06-08,1.8684848570095287,2.3977135286610025,2.9080980632719275,2.1067832445344865
|
||||
525,2021-06-09,1.883257678629105,2.438906968392103,2.911343133245727,2.119006739692313
|
||||
526,2021-06-10,1.8889061489449823,2.4663316166179867,2.8706613540339623,2.122338170487416
|
||||
527,2021-06-11,1.887797962992375,2.4618455427043773,2.7834343226272966,2.1228458217257864
|
||||
528,2021-06-12,1.8081989813409656,2.38622003153277,2.780969731760915,2.140551759451355
|
||||
529,2021-06-13,1.845294044028118,2.348022004753516,2.747249840452516,2.1516534679778947
|
||||
530,2021-06-14,1.87982248448568,2.3510193254934597,2.7581073282006066,2.1548648791531626
|
||||
531,2021-06-15,1.8338720562684567,2.342483386195582,2.724722353009969,2.1566576197096365
|
||||
532,2021-06-16,1.8377758052779496,2.35599816673883,2.739177328292277,2.157290355110665
|
||||
533,2021-06-17,1.8196301146220968,2.422132083942238,2.8244490368467146,2.161990467762121
|
||||
534,2021-06-18,1.8269018626454328,2.3547509115539627,2.887903688319278,2.162764295309903
|
||||
535,2021-06-19,1.8106009920802508,2.375169305086028,2.832486587581785,2.1652895904308656
|
||||
536,2021-06-20,1.887437771367572,2.389128566489945,2.8568779106026585,2.166182992475619
|
||||
537,2021-06-21,1.8663872313620136,2.323202847900762,2.895433042491957,2.168569662637026
|
||||
538,2021-06-22,1.9378093869222213,2.286453398422873,2.857694799376853,2.171973951255609
|
||||
539,2021-06-23,1.9139717091235064,2.199961227842093,2.9421370312120145,2.1727974168934274
|
||||
540,2021-06-24,1.9438901432697355,2.20785203514083,2.9227064385331896,2.1766744731349945
|
||||
541,2021-06-25,1.947189297906896,2.269913411493896,2.880360580277351,2.1774856245167253
|
||||
542,2021-06-26,1.9415855608604948,2.295153987435186,2.8826082196695824,2.1789435822974976
|
||||
543,2021-06-27,1.9518140378096729,2.313849007785416,2.910050789844945,2.1802505077055705
|
||||
544,2021-06-28,1.8636136811434287,2.3437251272394173,2.927263674542377,2.181806224834297
|
||||
545,2021-06-29,1.8638926435483791,2.3788782530038755,2.8338412698877358,2.183785998658097
|
||||
546,2021-06-30,1.918044415434012,2.410473548964974,2.7231063331779746,2.2066550902131263
|
||||
547,2021-07-01,1.868014102896528,2.4095546298490573,2.7236851887550078,2.2087739245872813
|
||||
548,2021-07-02,1.9000815805147049,2.446198538507121,2.754433971997974,2.21063494844427
|
||||
549,2021-07-03,1.8895083801803725,2.480581559774474,2.707932069905328,2.214414901619294
|
||||
550,2021-07-04,1.8903362113990645,2.6044606499887237,2.655649764756849,2.2160967201726334
|
||||
551,2021-07-05,1.863847557940538,2.6054910686033943,2.679189077996873,2.224511358845949
|
||||
552,2021-07-06,1.8500225507844488,2.6364143875653507,2.650791469689044,2.2261640873455297
|
||||
553,2021-07-07,1.8545921896581472,2.633080317410046,2.685442500141768,2.227757799836993
|
||||
554,2021-07-08,1.8904007578732496,2.533747256777972,2.7347535358462505,2.228157877563259
|
||||
555,2021-07-09,1.885641640550468,2.605524424291013,2.7457330943867726,2.231449946171915
|
||||
556,2021-07-10,1.97848257682334,2.579513338466467,2.788826378168117,2.235957503155089
|
||||
557,2021-07-11,2.0632880307246078,2.4775022572624024,2.7746491256465746,2.2382425762198683
|
||||
558,2021-07-12,2.110504407368901,2.456777769417417,2.7562873121227707,2.2406163223357334
|
||||
559,2021-07-13,2.1759202799695583,2.4984250322812254,2.798153363691262,2.242640467358908
|
||||
560,2021-07-14,2.239321245772315,2.4492310807898523,2.726840989521577,2.2471386002780784
|
||||
561,2021-07-15,2.2426723865726506,2.402395574599132,2.7602278658235178,2.248833778751075
|
||||
562,2021-07-16,2.2166846403591,2.432506115526139,2.6676493828336945,2.252808270595654
|
||||
563,2021-07-17,2.2841196635189163,2.4972428267219686,2.7076292562719497,2.254000565733404
|
||||
564,2021-07-18,2.386529028336786,2.612095092640717,2.70298080169123,2.261076376791599
|
||||
565,2021-07-19,2.4238653313588148,2.504692276828355,2.7431136501996147,2.2616688822162763
|
||||
566,2021-07-20,2.460828534670216,2.452670936345254,2.7565685093396453,2.262601026466135
|
||||
567,2021-07-21,2.493045678463024,2.4046080113694286,2.7838084192636723,2.2649210605988244
|
||||
568,2021-07-22,2.441711218367391,2.463051137572334,2.799827862481423,2.274065287389161
|
||||
569,2021-07-23,2.418563467184,2.4653369858988423,2.729722187252656,2.278754666823245
|
||||
570,2021-07-24,2.4304630704026624,2.3651852483193254,2.6663947216805783,2.2797382021876995
|
||||
571,2021-07-25,2.4126973135020275,2.417968008408696,2.787339710188789,2.281719698996362
|
||||
572,2021-07-26,2.47943083422814,2.4510484154227674,2.7912434692107118,2.285138264962157
|
||||
573,2021-07-27,2.4380333408538903,2.473269675214885,2.7378070926145317,2.2999182696038782
|
||||
574,2021-07-28,2.400138104550418,2.547255434790142,2.7396727778923124,2.302102827267749
|
||||
575,2021-07-29,2.360471368274433,2.5395460544086044,2.738824910484832,2.3050948578374104
|
||||
576,2021-07-30,2.355666923260717,2.6254949266270318,2.74941124002447,2.3055518440923057
|
||||
577,2021-07-31,2.416684093944538,2.645511707304542,2.707720932407008,2.30578825844753
|
||||
578,2021-08-01,2.412806870650149,2.621914789182292,2.6886059314060797,2.3136391114307
|
||||
579,2021-08-02,2.398413052480753,2.5677353523181545,2.618904838159212,2.318632597495367
|
||||
580,2021-08-03,2.380141405274328,2.5644643372967035,2.647740662535277,2.320630789130837
|
||||
581,2021-08-04,2.292166316103728,2.621793772787861,2.6269895965798957,2.321781634662929
|
||||
582,2021-08-05,2.314401245859968,2.6548166586145934,2.548888166031659,2.3238221687478564
|
||||
583,2021-08-06,2.265961951621215,2.6070890825727435,2.5504701798220992,2.354673007548111
|
||||
584,2021-08-07,2.364145878366589,2.596710615869842,2.5490555586447248,2.3557410875692586
|
||||
585,2021-08-08,2.231803674581417,2.6717351713292774,2.5616542793907917,2.3584983044174184
|
||||
586,2021-08-09,2.238887015121952,2.7382321156821323,2.5826947578272046,2.359170765898252
|
||||
587,2021-08-10,2.2339645512297044,2.803751927137453,2.57422874290244,2.3603389590413566
|
||||
588,2021-08-11,2.268051347901983,2.849363150205823,2.581723168426758,2.3665125134273004
|
||||
589,2021-08-12,2.253106985644197,2.796967421021412,2.553964612663342,2.367291435547094
|
||||
590,2021-08-13,2.222066888646865,2.8562837277560336,2.484163135633253,2.3680720623695324
|
||||
591,2021-08-14,2.1627827750859434,2.838169804167804,2.435386230760158,2.3701761576689115
|
||||
592,2021-08-15,2.078189592625496,2.7198713977785234,2.4107837914568666,2.375395191808593
|
||||
593,2021-08-16,2.084025292809807,2.723601772599589,2.3715953022783283,2.380093186903871
|
||||
594,2021-08-17,2.114290260112508,2.8090650144079103,2.4499854688405223,2.3850957087611766
|
||||
595,2021-08-18,2.104933633449165,2.7133625112373623,2.451094477786386,2.386094871815321
|
||||
596,2021-08-19,2.0761047423807946,2.7149022252692707,2.4588024793796577,2.387816916018409
|
||||
597,2021-08-20,2.113261491761997,2.6886861501271544,2.474311580858028,2.3901432153753905
|
||||
598,2021-08-21,2.0554779790278466,2.73245396949763,2.3791016815694674,2.390384867652607
|
||||
599,2021-08-22,2.0121391257376247,2.772520606174383,2.370607589009269,2.391900058718593
|
||||
600,2021-08-23,2.04800026877506,2.6742802906201293,2.4478680243431,2.3981448890519355
|
||||
601,2021-08-24,2.0716317081149627,2.763537439880177,2.493017438618508,2.4016980477869465
|
||||
602,2021-08-25,2.1339147395651423,2.801894354817671,2.467735690801983,2.40987605607982
|
||||
603,2021-08-26,2.1550960560486985,2.8135636440796445,2.5732433270029658,2.411127170677257
|
||||
604,2021-08-27,2.19013224067687,2.751699711247068,2.5839935508464693,2.4187399821881232
|
||||
605,2021-08-28,2.1686211513668545,2.7302426526005306,2.621243087864899,2.4227260952456464
|
||||
606,2021-08-29,2.2756644343885366,2.736448101694492,2.5676860539558284,2.424762688251853
|
||||
607,2021-08-30,2.228843873329216,2.802223133494886,2.5348558782909945,2.4253943176696806
|
||||
608,2021-08-31,2.290534657423185,2.817855286690285,2.492727930845802,2.42633340432104
|
||||
609,2021-09-01,2.3104956751915884,2.841595141956114,2.4917793669013726,2.4331152735594164
|
||||
610,2021-09-02,2.22052238974031,2.8456455944123817,2.480527325602523,2.433862330454984
|
||||
611,2021-09-03,2.1406712190302226,2.8650549735152824,2.521739658044962,2.455014144374624
|
||||
612,2021-09-04,2.064483788114315,2.882743039865439,2.60898554264686,2.460356391942159
|
||||
613,2021-09-05,2.048836580652613,2.965082497590932,2.674911635952264,2.460944636971344
|
||||
614,2021-09-06,2.0452877259592848,2.903798295648383,2.589414288722403,2.461562486765298
|
||||
615,2021-09-07,2.045620390684616,2.880026888266613,2.639903142275342,2.462835850497363
|
||||
616,2021-09-08,2.0594875117509366,2.9054528756662967,2.6302785319091284,2.4632941712837595
|
||||
617,2021-09-09,2.071532403278898,2.952118594219753,2.658206588489612,2.4658060085407625
|
||||
618,2021-09-10,2.071919030271377,2.952094193234008,2.6525011751284358,2.465995109614396
|
||||
619,2021-09-11,2.1128175294359326,3.050636065940252,2.5421340523662264,2.470165291514924
|
||||
620,2021-09-12,2.1371401627561784,3.1088025349851285,2.5531725661354274,2.4714554938837856
|
||||
621,2021-09-13,2.1221979236093858,3.1130281070271884,2.605517396260833,2.471759487899888
|
||||
622,2021-09-14,2.092261988383532,3.103804334615367,2.56424106714332,2.484080598930304
|
||||
623,2021-09-15,2.129637309335401,3.172278969984911,2.603103232320957,2.490925099842164
|
||||
624,2021-09-16,2.2085874383366293,3.2342944060088112,2.539366192461412,2.4920686838886708
|
||||
625,2021-09-17,2.160774656452423,3.182002046619881,2.443726419783613,2.497032314538377
|
||||
626,2021-09-18,2.100557181531342,3.129989283779571,2.4341415711917005,2.503158582099005
|
||||
627,2021-09-19,2.034949072724942,3.050564070117339,2.47064740888052,2.504772950167818
|
||||
628,2021-09-20,2.0122952532834035,2.966338568623049,2.441739504965169,2.5073164957610614
|
||||
629,2021-09-21,2.0724809184474804,2.925469456042676,2.4118909546622125,2.510259868307541
|
||||
630,2021-09-22,1.999213691064068,2.857076678549477,2.4272971274175705,2.5113889286847435
|
||||
631,2021-09-23,2.059941390098371,2.92693752803989,2.44880421524885,2.5145633658595057
|
||||
632,2021-09-24,2.105283568817446,2.9195652901295506,2.4374861206290914,2.5173561420402115
|
||||
633,2021-09-25,2.1210872152402542,2.873887502964376,2.4414828878082298,2.522210121483124
|
||||
634,2021-09-26,2.093116538911284,2.822939979162219,2.470755074740452,2.523669947695392
|
||||
635,2021-09-27,2.1371758885392134,2.828793719274986,2.3853774746030463,2.5248760447500147
|
||||
636,2021-09-28,2.1929488477227084,2.7593800720810338,2.378955877552903,2.5343482898075798
|
||||
637,2021-09-29,2.125507620414123,2.786935876211741,2.3575908361604307,2.5355289705924555
|
||||
638,2021-09-30,2.052905696214497,2.7282293914876763,2.3015941264528426,2.5382075807228244
|
||||
639,2021-10-01,2.0364080644140428,2.6681989554078887,2.3073491839835536,2.571650727264994
|
||||
640,2021-10-02,2.0422494296057234,2.666711228702867,2.299448424300495,2.5772059977898847
|
||||
641,2021-10-03,2.0947093536075942,2.6668556496516254,2.2328079684139888,2.5802566901785724
|
||||
642,2021-10-04,2.068746853500488,2.7607929676207017,2.2814550397769966,2.581045480338564
|
||||
643,2021-10-05,2.008593460234377,2.7751795981601792,2.352048274803163,2.5815117770626617
|
||||
644,2021-10-06,2.067000800313782,2.7068504554634094,2.4217255013963137,2.5820639027611594
|
||||
645,2021-10-07,2.0337696425008014,2.7466966292456103,2.4134972530938272,2.5828079811678166
|
||||
646,2021-10-08,2.0044733977436304,2.782628342143416,2.421129686743285,2.584337369306774
|
||||
647,2021-10-09,1.9878463912884312,2.6841407255222376,2.3725726981484647,2.588489827265691
|
||||
648,2021-10-10,1.978959194144693,2.7547576924846537,2.3320178015335373,2.589656256725408
|
||||
649,2021-10-11,2.067812331771724,2.703092094928401,2.304381553794902,2.5931068769579664
|
||||
650,2021-10-12,2.115131939801685,2.768753363299485,2.3514950875685137,2.5987731243489507
|
||||
651,2021-10-13,2.074380903246295,2.757348188843172,2.4117239551590024,2.6094004651481804
|
||||
652,2021-10-14,2.126047656894596,2.7390587746687203,2.535038908206191,2.622306449658358
|
||||
653,2021-10-15,2.161275291705933,2.7047397413058425,2.5053326748582028,2.6259677667747905
|
||||
654,2021-10-16,2.1956066155375216,2.7089062459147493,2.5817398338602966,2.632824059266838
|
||||
655,2021-10-17,2.241522724288997,2.7249894661547853,2.660616874008986,2.634181980519386
|
||||
656,2021-10-18,2.2751582578885703,2.7623042106401283,2.680746831749016,2.63602807072511
|
||||
657,2021-10-19,2.2563594988412343,2.7471749482664385,2.8041555813061247,2.6363794635692743
|
||||
658,2021-10-20,2.2099896086877795,2.676951221566803,2.920062106542289,2.637304172590792
|
||||
659,2021-10-21,2.282095580740634,2.753894947154244,2.9258750339197217,2.6409597905641258
|
||||
660,2021-10-22,2.2239343284733715,2.727478426996881,2.9632255775263534,2.646001659676019
|
||||
661,2021-10-23,2.279319416831802,2.754567567751261,2.944829035632479,2.64811853509479
|
||||
662,2021-10-24,2.3453015700758875,2.8067055640853646,2.9700974711232964,2.6527765689500336
|
||||
663,2021-10-25,2.361824247126788,2.83282825313507,2.9242108348710816,2.6545196340698194
|
||||
664,2021-10-26,2.328039683464308,2.75660559936471,2.9277325762489816,2.6555982638215743
|
||||
665,2021-10-27,2.323204434759772,2.844989128944869,2.9056610131635514,2.657717998542664
|
||||
666,2021-10-28,2.325234540964127,2.833538434926841,2.9382674014595938,2.658768396349393
|
||||
667,2021-10-29,2.317442615668352,2.827442931346405,2.8986258916038445,2.6614131001738768
|
||||
668,2021-10-30,2.303986868285237,2.7280140030480253,2.9094817433940383,2.663706440794713
|
||||
669,2021-10-31,2.309969205499111,2.7066661434969617,2.9116358132766327,2.664841531544583
|
||||
670,2021-11-01,2.2788521507542145,2.800627486486081,2.881919827005178,2.682567431792886
|
||||
671,2021-11-02,2.289873879425013,2.867601326126316,2.9716190686614548,2.6831658727899543
|
||||
672,2021-11-03,2.2502523830877394,2.8681376567654397,2.95490927965838,2.689512011303949
|
||||
673,2021-11-04,2.249964387126984,2.850796290411571,2.886788423312073,2.69115714787188
|
||||
674,2021-11-05,2.26774160238118,2.8185360443737983,2.836387156970712,2.6953873599465203
|
||||
675,2021-11-06,2.253175370533928,2.7826506313198807,2.8582663146238567,2.700841190429837
|
||||
676,2021-11-07,2.2556750085492188,2.8994922166269346,2.8632658419610806,2.7021513445161824
|
||||
677,2021-11-08,2.17027473713999,2.847771395681168,2.833256545930489,2.708092757039891
|
||||
678,2021-11-09,2.1510041519617005,2.872826551162227,2.744546887740383,2.7120664758301136
|
||||
679,2021-11-10,2.089156423071544,2.825751596322006,2.743451393425635,2.724715742479188
|
||||
680,2021-11-11,2.1606616535396515,2.779964928904481,2.781434990204661,2.7337340561236974
|
||||
681,2021-11-12,2.22697625120498,2.793285304179139,2.773887117599273,2.737728468385452
|
||||
682,2021-11-13,2.1257678330081498,2.8165362896066752,2.86750973045401,2.746084629737747
|
||||
683,2021-11-14,2.112117365784724,2.8367061005230485,2.9325662051535626,2.7478284073731647
|
||||
684,2021-11-15,2.1414712041108457,2.754303603858349,2.896365856714937,2.75215193604866
|
||||
685,2021-11-16,2.1557391557902115,2.753001275499925,2.937133059764655,2.754932413419881
|
||||
686,2021-11-17,2.154167768921914,2.810867199878264,2.8810554235577417,2.7554740519676866
|
||||
687,2021-11-18,2.1182579211691177,2.8273564859892204,2.9403688080111583,2.756343465752641
|
||||
688,2021-11-19,2.20801794774734,2.8057718548817165,2.9615045184130424,2.758478486958606
|
||||
689,2021-11-20,2.2327113423585487,2.8661993143731945,3.0144956798093148,2.759566487000925
|
||||
690,2021-11-21,2.1995919926711824,2.900011718430837,3.050682870970113,2.7620351530204914
|
||||
691,2021-11-22,2.1615880600950845,2.908847412336186,3.152681181917425,2.762940587626402
|
||||
692,2021-11-23,2.1327325640545864,2.869850036221621,3.2292999126763804,2.7697389936883785
|
||||
693,2021-11-24,2.112828963102936,2.835360810270004,3.2629362630101237,2.7704335451649413
|
||||
694,2021-11-25,2.133112727685752,2.744685656788545,3.2493270516880286,2.7713005224391805
|
||||
695,2021-11-26,2.1470826152283653,2.660082061731212,3.133017851985616,2.773281874490202
|
||||
696,2021-11-27,2.1802836234277545,2.736207459206439,3.1821813755888866,2.7741755748091674
|
||||
697,2021-11-28,2.169622923618828,2.838619128310465,3.128384633590994,2.7788775126744616
|
||||
698,2021-11-29,2.06697186301064,2.9386551954738698,3.221465553399786,2.814464179560515
|
||||
699,2021-11-30,2.0567800886382206,2.9032547346451127,3.2571867604362543,2.8160649972349403
|
||||
700,2021-12-01,2.0955998606819555,2.811023363569736,3.229027714239134,2.8199523567872906
|
||||
701,2021-12-02,2.1462545477704857,2.826150809828675,3.1691053282583,2.8229404561199005
|
||||
702,2021-12-03,2.1232431187920686,2.792268304986508,3.260847931216889,2.8265425875930568
|
||||
703,2021-12-04,2.1436777950026475,2.747224835986388,3.234805249448213,2.83507130342911
|
||||
704,2021-12-05,2.139560011388713,2.772452772048528,3.252347650643172,2.862721448696889
|
||||
705,2021-12-06,2.072164179045985,2.8723039305403075,3.187133755200367,2.8672204458528934
|
||||
706,2021-12-07,2.0927664451122485,2.933088446201669,3.16775417470898,2.867970299259265
|
||||
707,2021-12-08,2.0793825185416277,2.808423886842806,3.1785452959084544,2.870861724204546
|
||||
708,2021-12-09,2.0988910963722605,2.838298546728298,3.099368984918366,2.8746650385729047
|
||||
709,2021-12-10,2.05563112640476,2.795252673153229,3.0377446518358213,2.8766165408470483
|
||||
710,2021-12-11,2.052190526674436,2.790693445222851,3.018037249654266,2.88227507626334
|
||||
711,2021-12-12,2.051020337183996,2.7795703215951537,3.062453072536595,2.884033781084639
|
||||
712,2021-12-13,2.0503659209385634,2.705757825920253,3.0577798467602184,2.88807208293864
|
||||
713,2021-12-14,2.065888904872756,2.640561562291197,3.051383213547955,2.890515761651997
|
||||
714,2021-12-15,2.0241158710009217,2.6562965129045946,3.1134644257491795,2.8915956102816867
|
||||
715,2021-12-16,2.011796559941659,2.587908744320609,3.1071035379000675,2.9017588477036265
|
||||
716,2021-12-17,1.9471541934795624,2.534757152028258,3.118054855704814,2.9056966618689097
|
||||
717,2021-12-18,1.9891576149329404,2.554456971035494,3.190911598735974,2.9073356356281543
|
||||
718,2021-12-19,1.9977947742668285,2.521892010258683,3.1579358508854742,2.908694730596919
|
||||
719,2021-12-20,2.024489416921948,2.498849053678626,3.051474258701378,2.910257506232819
|
||||
720,2021-12-21,1.9101162709403732,2.4994923144947903,3.0417807443363,2.9158203024326323
|
||||
721,2021-12-22,1.8586335615962708,2.4474147650257,3.0696373922941342,2.91760329017934
|
||||
722,2021-12-23,1.802615423056992,2.4134337813378286,3.10286303278097,2.918765537355731
|
||||
723,2021-12-24,1.8041416523202545,2.3443871803774843,3.1420884645008327,2.9270177310498138
|
||||
724,2021-12-25,1.8489534806960215,2.3553941020378786,3.1643414517660107,2.927586841263833
|
||||
725,2021-12-26,1.892760626762073,2.391044316275432,3.163380026777016,2.935788479523747
|
||||
726,2021-12-27,1.8698231750168643,2.430083480413742,3.215021219440133,2.940571664793773
|
||||
727,2021-12-28,1.8548311703170128,2.463051743097091,3.2040363362571576,2.945883814656572
|
||||
728,2021-12-29,1.887209965197199,2.362401253797821,3.285868116298562,2.9466697183024904
|
||||
729,2021-12-30,1.9151284139685452,2.452230511452688,3.344048729792291,2.958261602966074
|
||||
730,2021-12-31,1.884547011974969,2.4427816715914323,3.391590176442121,2.958993845540612
|
||||
731,2022-01-01,1.900999543673747,2.423951572030134,3.4221871729754443,2.959381744191336
|
||||
|
120
tests/gamestonk_terminal/custom/test_custom_controller.py
Normal file
120
tests/gamestonk_terminal/custom/test_custom_controller.py
Normal file
@@ -0,0 +1,120 @@
|
||||
import os
|
||||
import pytest
|
||||
import pandas as pd
|
||||
from gamestonk_terminal.custom import custom_controller
|
||||
|
||||
|
||||
@pytest.mark.vcr(record_mode="none")
|
||||
@pytest.mark.record_stdout
|
||||
def test_print_help():
|
||||
controller = custom_controller.CustomDataController()
|
||||
controller.print_help()
|
||||
|
||||
|
||||
@pytest.mark.vcr(record_mode="none")
|
||||
@pytest.mark.record_stdout
|
||||
def test_info_no_data():
|
||||
controller = custom_controller.CustomDataController()
|
||||
controller.choices = []
|
||||
controller.data = pd.DataFrame()
|
||||
controller.call_info([])
|
||||
|
||||
|
||||
@pytest.mark.vcr(record_mode="none")
|
||||
@pytest.mark.parametrize(
|
||||
"queue, expected",
|
||||
[
|
||||
(["load", "help"], []),
|
||||
(["quit", "help"], ["help"]),
|
||||
],
|
||||
)
|
||||
def test_menu_with_queue(expected, mocker, queue):
|
||||
path_controller = "gamestonk_terminal.custom.custom_controller"
|
||||
|
||||
# MOCK SWITCH
|
||||
mocker.patch(
|
||||
target=f"{path_controller}.CustomDataController.switch",
|
||||
return_value=["quit"],
|
||||
)
|
||||
result_menu = custom_controller.CustomDataController(queue=queue).menu()
|
||||
|
||||
assert result_menu == expected
|
||||
|
||||
|
||||
@pytest.mark.vcr(record_mode="none")
|
||||
@pytest.mark.parametrize(
|
||||
"tested_func, other_args, mocked_func, called_args, called_kwargs",
|
||||
[
|
||||
(
|
||||
"call_load",
|
||||
[
|
||||
"-f test.csv",
|
||||
],
|
||||
"",
|
||||
[],
|
||||
dict(),
|
||||
),
|
||||
],
|
||||
)
|
||||
def test_call_func_test(
|
||||
tested_func, mocked_func, other_args, called_args, called_kwargs, mocker
|
||||
):
|
||||
path_controller = "gamestonk_terminal.custom.custom_controller"
|
||||
|
||||
if mocked_func:
|
||||
mock = mocker.Mock()
|
||||
mocker.patch(
|
||||
target=f"{path_controller}.{mocked_func}",
|
||||
new=mock,
|
||||
)
|
||||
|
||||
controller = custom_controller.CustomDataController(queue=None)
|
||||
getattr(controller, tested_func)(other_args)
|
||||
|
||||
if called_args or called_kwargs:
|
||||
mock.assert_called_once_with(*called_args, **called_kwargs)
|
||||
else:
|
||||
mock.assert_called_once()
|
||||
else:
|
||||
controller = custom_controller.CustomDataController(queue=None)
|
||||
getattr(controller, tested_func)(other_args)
|
||||
|
||||
|
||||
@pytest.mark.vcr(record_mode="none")
|
||||
@pytest.mark.parametrize(
|
||||
"tested_func, other_args, mocked_func, called_args, called_kwargs",
|
||||
[
|
||||
(
|
||||
"call_show",
|
||||
[
|
||||
"-l 2",
|
||||
],
|
||||
"",
|
||||
[],
|
||||
dict(),
|
||||
),
|
||||
],
|
||||
)
|
||||
def test_controller_show(
|
||||
tested_func, mocked_func, other_args, called_args, called_kwargs, mocker
|
||||
):
|
||||
path_controller = "gamestonk_terminal.custom.custom_controller"
|
||||
|
||||
if mocked_func:
|
||||
mock = mocker.Mock()
|
||||
mocker.patch(
|
||||
target=f"{path_controller}.{mocked_func}",
|
||||
new=mock,
|
||||
)
|
||||
|
||||
controller = custom_controller.CustomDataController(queue=None)
|
||||
controller.data = pd.read_csv(os.path.join("custom_imports", "test.csv"))
|
||||
getattr(controller, tested_func)(other_args)
|
||||
|
||||
if called_args or called_kwargs:
|
||||
mock.assert_called_once_with(*called_args, **called_kwargs)
|
||||
else:
|
||||
mock.assert_called_once()
|
||||
else:
|
||||
controller = custom_controller.CustomDataController(queue=None)
|
||||
getattr(controller, tested_func)(other_args)
|
||||
24
tests/gamestonk_terminal/custom/test_custom_model.py
Normal file
24
tests/gamestonk_terminal/custom/test_custom_model.py
Normal file
@@ -0,0 +1,24 @@
|
||||
import os
|
||||
import pytest
|
||||
|
||||
from gamestonk_terminal.custom import custom_model
|
||||
|
||||
|
||||
@pytest.mark.vcr()
|
||||
@pytest.mark.parametrize(
|
||||
"file",
|
||||
[
|
||||
"test.csv",
|
||||
],
|
||||
)
|
||||
def test_test_load(recorder, file):
|
||||
result_df = custom_model.load(os.path.join("custom_imports", file))
|
||||
assert not result_df.empty
|
||||
recorder.capture(result_df)
|
||||
|
||||
|
||||
@pytest.mark.vcr()
|
||||
def test_test_empty_load(recorder):
|
||||
result_df = custom_model.load("")
|
||||
assert result_df.empty
|
||||
recorder.capture(result_df)
|
||||
2
tests/gamestonk_terminal/custom/txt/test_custom_controller/test_info_no_data.txt
vendored
Normal file
2
tests/gamestonk_terminal/custom/txt/test_custom_controller/test_info_no_data.txt
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
[red]No data loaded.[/red]
|
||||
|
||||
11
tests/gamestonk_terminal/custom/txt/test_custom_controller/test_print_help.txt
vendored
Normal file
11
tests/gamestonk_terminal/custom/txt/test_custom_controller/test_print_help.txt
vendored
Normal file
@@ -0,0 +1,11 @@
|
||||
|
||||
load load in custom data set
|
||||
|
||||
Current file: None[unvl]
|
||||
show show portion of loaded data
|
||||
info show data info (columns and datatypes)
|
||||
plot plot data from loaded file[/unvl]
|
||||
[menus]
|
||||
> qa quantitative analysis, e.g.: decompose, cusum, residuals analysis
|
||||
> pred prediction techniques e.g.: regression, arima, rnn, lstm[/menus]
|
||||
|
||||
24
website/content/custom/_index.md
vendored
Normal file
24
website/content/custom/_index.md
vendored
Normal file
@@ -0,0 +1,24 @@
|
||||
---
|
||||
geekdocCollapseSection: true
|
||||
---
|
||||
|
||||
{{< toc-tree >}}
|
||||
|
||||
# Loading in custom data
|
||||
|
||||
There is a directory in root, labeled `custom_imports`. Here there is a sample
|
||||
csv file titled `test.csv` that is __randomly__ generated data for visualization purposes.
|
||||
|
||||
When loading in the data, we recommend working with time series. The prediction techniques menu
|
||||
will plot against time data, so not using that may result in undesired outputs.
|
||||
|
||||
## How to load in a time variable
|
||||
|
||||
Note in the sample csv, the first row has the following form `Date,ColNorm,Col2,ColNorm3,ColB`.
|
||||
The process for loading data into Gamestonk Terminal is that the code loops through all input columns and looks through
|
||||
for one column that is either `Date`,`Time` or `Timestamp` (not case-sensitive).
|
||||
If one of these are found, then the dataframe sets this column to be the index.
|
||||
|
||||
If onc of these columns are not found, then the index will just be integers from 0 to the length of your data.
|
||||
|
||||
Once again: __the prediction menu is designed for data with a datetime index__.
|
||||
28
website/content/custom/info/_index.md
vendored
Normal file
28
website/content/custom/info/_index.md
vendored
Normal file
@@ -0,0 +1,28 @@
|
||||
```
|
||||
usage: info [-h]
|
||||
```
|
||||
Show information of custom data.
|
||||
|
||||
```
|
||||
optional arguments:
|
||||
-h, --help show this help message (default: False)
|
||||
```
|
||||
|
||||
Sample Output:
|
||||
```python
|
||||
<class 'pandas.core.frame.DataFrame'>
|
||||
DatetimeIndex: 732 entries, 2020-01-01 to 2022-01-01
|
||||
Data columns (total 4 columns):
|
||||
# Column Non-Null Count Dtype
|
||||
--- ------ -------------- -----
|
||||
0 colnorm 732 non-null float64
|
||||
1 col2 732 non-null float64
|
||||
2 colnorm3 732 non-null float64
|
||||
3 colb 732 non-null float64
|
||||
dtypes: float64(4)
|
||||
memory usage: 28.6 KB
|
||||
None
|
||||
```
|
||||
|
||||
This tells us the loaded dataframe, (which there is one saved as a default template as test.csv)
|
||||
has 4 columns that are all floats (numeric). The index is a date time range from the start of 2020 to the start of 2022.
|
||||
11
website/content/custom/load/_index.md
vendored
Normal file
11
website/content/custom/load/_index.md
vendored
Normal file
@@ -0,0 +1,11 @@
|
||||
```
|
||||
usage: load [-f {test.csv}] [-h]
|
||||
```
|
||||
Load custom data set into a dataframe
|
||||
|
||||
```
|
||||
optional arguments:
|
||||
-f {test.csv}, --file {test.csv}
|
||||
File to load in. (default: test.csv)
|
||||
-h, --help show this help message (default: False)
|
||||
```
|
||||
23
website/content/custom/plot/_index.md
vendored
Normal file
23
website/content/custom/plot/_index.md
vendored
Normal file
@@ -0,0 +1,23 @@
|
||||
```
|
||||
usage: plot [-y {colnorm,col2,colnorm3,colb}] [-x {colnorm,col2,colnorm3,colb}] [-k {line,scatter,bar,barh,hist,box,kde,area,pie,hexbin}] [-h] [--export {png,jpg,pdf,svg}]
|
||||
```
|
||||
Plot 2 columns of loaded data.
|
||||
|
||||
```
|
||||
optional arguments:
|
||||
-y {colnorm,col2,colnorm3,colb}
|
||||
Variable to plot along y (default: None)
|
||||
-x {colnorm,col2,colnorm3,colb}, --vs {colnorm,col2,colnorm3,colb}
|
||||
Variable along x axis (default: )
|
||||
-k {line,scatter,bar,barh,hist,box,kde,area,pie,hexbin}, --kind {line,scatter,bar,barh,hist,box,kde,area,pie,hexbin}
|
||||
Type of plot for data (default: scatter)
|
||||
-h, --help show this help message (default: False)
|
||||
--export {png,jpg,pdf,svg}
|
||||
Export figure into png, jpg, pdf, svg (default: )
|
||||
```
|
||||
|
||||
Note that when no "-x/--vs" is supplied, the x axis will be the dataframe index. The -x and -y defaults will be the
|
||||
columns present in your data. In this scenario, the columns loaded are `colnorm,col2,colnorm3,colb` .
|
||||
|
||||
The different kinds of plots can be seen in the `kind` kwarg of the
|
||||
[pandas plot function](https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.plot.html)
|
||||
24
website/content/custom/show/_index.md
vendored
Normal file
24
website/content/custom/show/_index.md
vendored
Normal file
@@ -0,0 +1,24 @@
|
||||
```
|
||||
usage: show [-s SORTCOL [SORTCOL ...]] [-a] [-h] [-l LIMIT]
|
||||
```
|
||||
Show loaded dataframe
|
||||
```
|
||||
optional arguments:
|
||||
-s SORTCOL [SORTCOL ...], --sortcol SORTCOL [SORTCOL ...]
|
||||
-a, --ascend
|
||||
-h, --help show this help message (default: False)
|
||||
-l LIMIT, --limit LIMIT
|
||||
Number of entries to show in data. (default: 5)
|
||||
```
|
||||
|
||||
Sample Output:
|
||||
```
|
||||
2022 Jan 18, 17:53 (✨) /custom/ $ show -l 3
|
||||
colnorm col2 colnorm3 colb
|
||||
date
|
||||
2020-01-01 0.999953 1.012313 1.008667 0.001203
|
||||
2020-01-02 0.983850 1.023421 1.004225 0.004517
|
||||
2020-01-03 1.002692 1.019749 1.006244 0.007035
|
||||
```
|
||||
|
||||
This shows the top 3 rows of my custom dataframe. This should primarily be used as a method of debugging that the load worked.
|
||||
75
website/data/menu/main.yml
vendored
75
website/data/menu/main.yml
vendored
@@ -1147,3 +1147,78 @@ main:
|
||||
ref: "/alternative/covid/cases"
|
||||
- name: rates
|
||||
ref: "/alternative/covid/rates"
|
||||
- name: custom
|
||||
ref: "/custom"
|
||||
sub:
|
||||
- name: load
|
||||
ref: "/custom/load"
|
||||
- name: show
|
||||
ref: "/custom/show"
|
||||
- name: info
|
||||
ref: "/custom/info"
|
||||
- name: plot
|
||||
ref: "/custom/plot"
|
||||
- name: quantitative analysis
|
||||
ref: "/common/quantitative_analysis"
|
||||
sub:
|
||||
- name: load
|
||||
ref: "/common/quantitative_analysis/load"
|
||||
- name: pick
|
||||
ref: "/common/quantitative_analysis/pick"
|
||||
- name: summary
|
||||
ref: "/common/quantitative_analysis/summary"
|
||||
- name: normality
|
||||
ref: "/common/quantitative_analysis/normality"
|
||||
- name: unitroot
|
||||
ref: "/common/quantitative_analysis/unitroot"
|
||||
- name: hist
|
||||
ref: "/common/quantitative_analysis/hist"
|
||||
- name: cdf
|
||||
ref: "/common/quantitative_analysis/cdf"
|
||||
- name: bw
|
||||
ref: "/common/quantitative_analysis/bw"
|
||||
- name: acf
|
||||
ref: "/common/quantitative_analysis/acf"
|
||||
- name: qqplot
|
||||
ref: "/common/quantitative_analysis/qqplot"
|
||||
- name: rolling
|
||||
ref: "/common/quantitative_analysis/rolling"
|
||||
- name: spread
|
||||
ref: "/common/quantitative_analysis/spread"
|
||||
- name: quantile
|
||||
ref: "/common/quantitative_analysis/quantile"
|
||||
- name: skew
|
||||
ref: "/common/quantitative_analysis/skew"
|
||||
- name: kurtosis
|
||||
ref: "/common/quantitative_analysis/kurtosis"
|
||||
- name: decompose
|
||||
ref: "/common/quantitative_analysis/decompose"
|
||||
- name: cusum
|
||||
ref: "/common/quantitative_analysis/cusum"
|
||||
- name: capm
|
||||
ref: "/common/quantitative_analysis/capm"
|
||||
- name: data
|
||||
ref: "/common/quantitative_analysis/data"
|
||||
- name: line
|
||||
ref: "/common/quantitative_analysis/line"
|
||||
- name: prediction techniques
|
||||
ref: "/common/prediction_techniques"
|
||||
sub:
|
||||
- name: ets
|
||||
ref: "/common/prediction_techniques/ets"
|
||||
- name: knn
|
||||
ref: "/common/prediction_techniques/knn"
|
||||
- name: regression
|
||||
ref: "/common/prediction_techniques/regression"
|
||||
- name: arima
|
||||
ref: "/common/prediction_techniques/arima"
|
||||
- name: mlp
|
||||
ref: "/common/prediction_techniques/mlp"
|
||||
- name: rnn
|
||||
ref: "/common/prediction_techniques/rnn"
|
||||
- name: lstm
|
||||
ref: "/common/prediction_techniques/lstm"
|
||||
- name: conv1d
|
||||
ref: "/common/prediction_techniques/conv1d"
|
||||
- name: mc
|
||||
ref: "/common/prediction_techniques/mc"
|
||||
Reference in New Issue
Block a user