-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathresults.py
297 lines (235 loc) · 103 KB
/
results.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
# results.py
from numpy import mean, median
import numpy as np
import pylab as P
from matplotlib import pyplot as plt
# # Run 1
# results = [93068.54664182669, 96956.21962247501, 115530.27792057063, 113677.60900095104, 128101.07503799514, 79400.80611624727, 126697.82934691012, 79148.76357812904, 113084.37800264961, 107214.21376622164, 115979.6952448421, 95779.17352352111, 109356.82231648799, 105304.45137359305, 107817.82386046402, 106527.42989206145, 97181.79527636612, 109396.36604207235, 111506.71048629403, 124469.89963156625, 89229.74373680087, 75761.946110991, 113961.30447468463, 93599.15118975367, 142499.54089023545,
# 126461.86206707006, 97714.23302599201, 95545.33676026016, 102016.94375536258, 122417.54206125208, 160421.65462840427, 99601.4110299792, 93039.08935027078, 102487.97149382831, 119054.97183716623, 117060.95692869616, 94456.42406270606, 130466.89531286233, 111165.40074076841, 107833.08858488697, 97245.77159610798, 116610.53436281119, 133387.62182085885, 100062.36066022303, 90915.45912829235, 85439.20543542314, 115237.3920326482, 80155.55679129387, 109372.62381515963, 105322.94421768899]
# firstyear = 2006
# lastyear = 2010
# num_stocks = 20
# trials = 50
# spfirst = 1268.80
# splast = 1257.64
# print 'RUN 1'
# print min(results)
# print max(results)
# print median(results)
# print mean(results)
# print 'S&P 500 Return: %.2f%%' % (((splast - spfirst) / spfirst) * 100)
# print 'Average Return: %.2f%%' % (((mean(results) - 100000) / 100000) * 100)
# print 'Max Return: %.2f%%' % (((max(results) - 100000) / 100000) * 100)
# print 'Min Return: %.2f%%' % (((min(results) - 100000) / 100000) * 100)
# plt.hist(results, bins=20)
# plt.show()
# # Run 1
# results = [195854.99232056213, 162667.65951077835, 145297.282749024, 170348.74817332477, 146004.47361515183, 146979.73148131787, 133995.43485382985, 146793.55473451046, 144793.2081338067, 146691.2639578249, 142917.88084915275, 153243.83837070267, 139505.6245087778, 128680.04868658526, 167010.46039782924, 130249.50014056414, 134256.87638248102, 149206.96382018202, 133773.97704462495, 125191.36064008505, 136712.8631657153, 137604.1403769268, 158332.57709063505, 145259.57792818, 148432.38475453318,
# 136557.75166235166, 163800.24724063673, 135591.94991682566, 163200.73810091158, 158935.2643360668, 169077.78682643897, 121004.43126835037, 210905.16581927732, 122482.2508041557, 189758.51061636565, 204745.0152773241, 134052.60648145236, 163821.22200533957, 179983.72202526184, 130569.33004092309, 161251.7030935801, 148753.97865572118, 154767.53525387758, 126868.61195400824, 144900.42660522021, 150181.4103094148, 138449.06166608178, 166875.70882066584, 115515.77881870847, 118443.92851657966]
# firstyear = 2010
# lastyear = 2015
# num_stocks = 20
# trials = 50
# print 'RUN 2'
# print min(results)
# print max(results)
# print median(results)
# print mean(results)
# spfirst = 1132.99
# splast = 2106.85
# print 'S&P 500 Return: %.2f%%' % (((splast - spfirst) / spfirst) * 100)
# print 'Average Return: %.2f%%' % (((mean(results) - 100000) / 100000) * 100)
# print 'Max Return: %.2f%%' % (((max(results) - 100000) / 100000) * 100)
# print 'Min Return: %.2f%%' % (((min(results) - 100000) / 100000) * 100)
# plt.hist(results, bins=20)
# plt.show()
# # Run 3
# results = [106270.6245475712, 100621.90744258827, 102064.70502479914, 112385.90883678023, 101823.37452665005, 110485.9466134401, 103645.64071920364, 105356.01363954072, 96922.59678145566, 115146.8688143708, 99193.29918373188, 103872.60432288272, 109122.33845055819, 102713.43439198093, 113235.89102812325, 102394.5565135913, 110473.13071321281, 95738.68455703408, 103208.86056448377, 104714.64424233056, 112705.84673469423, 104591.70511331037, 93087.5694955808, 106579.03065940426, 104685.89384730933, 107384.24087631509, 103237.84882956208, 93333.11360839583, 104451.93310022348, 107037.45002021258, 99951.89159545844, 109999.23533018943, 106343.7182922191, 92727.00751475344, 101707.53584788788, 106892.5237715355, 99814.55116304714, 99216.42052494129, 105205.51426994505, 107795.33718028972, 107753.43395284185, 101961.9339216433, 105928.71943611471, 109213.809445584, 100290.03213257622, 103699.02702052153, 104711.29846660749, 112116.75619780777, 104319.23647716304, 102964.72917657823, 112414.5075949205, 100304.2485586704, 102298.36302029241, 107828.22603260666, 98722.65317586034, 104126.11301552606, 107488.40054015139, 97696.69317535125, 94294.14377877304, 104144.8808677547, 113977.15627840188, 111256.5086524823, 109855.98225745921, 100999.15058476492, 99242.77473309512, 105321.71599190388, 103729.44812693515, 104090.15094838745, 91472.11414669143, 101519.72755410436, 106771.47431214967, 103492.21321217387, 93950.01082549882, 101166.81928642679, 90924.39737044695, 105461.18305995694, 99363.30609465676, 112280.09825184128, 106416.14274234339, 97836.9490005086, 94911.47468508159, 101624.64258369783, 100620.42468704902, 107726.42339893014, 94245.67115418246, 99096.73807812668, 101803.8827801055, 98733.4828535227, 110700.33632608852, 96703.3624331485, 108846.5236632562, 102671.0449196663, 104882.23902337141, 99907.32414539467, 105432.1145674821, 94585.58898503086, 98750.53356524113, 105111.96087545014, 108291.52836242106, 100092.200776096, 99286.48041385367, 104511.21683409308, 99296.72484140926, 102341.07595980683, 99705.71996400284, 99865.737367079, 98090.7892952305, 102424.3405779863, 98375.41856619553, 105649.5222318949, 102845.59716714731, 99417.42227423929, 107424.16276196952, 103456.36156822862, 103728.9597223909, 104139.33583855284, 115098.20418058701, 113324.38782918725, 97978.80152574697, 111052.70773920695, 108560.06970173887, 97117.13199611285, 99974.93358434192, 108109.61472079586, 104354.34373195884, 100382.72223058219, 107394.44058025867, 100034.6393744375, 104210.11671860437, 99736.84589283905, 108431.02399649887, 107902.18473762457, 99928.8865887316, 114689.74703364151, 101879.71839801443, 103415.08252406634, 99726.72549318672, 98883.45623436001, 102015.21376846284, 112365.19800248796, 93590.83792716808, 106013.20180808069, 104540.38732796324, 102980.6594117312, 107111.21915672094, 95982.13387623144, 98960.41180645979, 101542.14780356665, 110188.05288170831, 107558.41265133081, 100004.01866156657, 103728.42199912015, 96748.41314003857, 102420.44826633442, 98519.8428115532, 94075.86388710956, 104207.13888907411, 97006.64556988861, 112423.97099843489, 113558.9508420733, 97041.96425698379, 101288.96794276233, 107322.02506011142, 111454.11466374241, 111161.69540829852, 99716.07313507808, 107570.13682294726, 100516.53463163889, 103949.8687877107, 109817.12452661237, 111544.37603252968, 106060.19217643318, 101393.72907442843, 116149.62495357811, 101796.26792671323, 101678.47768092554, 97419.17792597537, 101338.44295608361, 113435.1784898122, 98722.38603098557, 98242.17006294822, 99117.58899880935, 97850.07248670475, 96361.43944130042, 103109.06700090322, 110225.79947924688, 102738.14107192917, 108497.36483107203, 107465.08335766345, 93993.31506391834, 99026.0316116417, 105571.38410972731, 111543.91408294166, 96916.04602248824, 109203.9551813906, 108136.44906044865, 98623.6455327501, 97979.98332917874, 107835.88750636205, 98810.67151766292, 115992.5596247121, 106681.23171519594, 110480.5265014161, 110662.36463741853, 107737.76657864942, 108865.21564871124, 99097.09264279391, 98217.38815930567, 105662.22539660048, 105866.40014122834, 106652.20279971657, 98913.65918516686, 102516.18154939394, 106103.18887938777, 103753.28762178961, 98531.16369548452, 101085.39897375148, 94664.11794397031, 101898.62340947686, 101572.50837241196, 98911.66866371132, 116320.25397365389, 106349.89430483285, 96284.37792971541, 97510.9958600727, 88805.11085403622, 105579.28695079628, 94629.33565605106, 118379.30598831535, 116455.1639427896, 105196.92636636358, 110243.4530078077, 96159.96441889848, 92170.66638564413, 109990.73741233478, 102095.92294009855, 101945.10391203572, 92139.87787880693, 108320.17366307131, 101502.18105536194, 105343.76437793174, 107198.02893110209, 96923.12574343321, 109063.46166016559, 97901.42804117994, 93934.72659276209, 104456.65372620255, 100461.23324501634, 109264.94750448945, 99379.1798704767, 99994.45681323462, 106738.60076120612, 108340.10037845378, 109382.62664890954, 98358.471407788, 103555.63692218596, 105484.28723890321, 108001.65218906137, 99209.56244867833, 104836.72349054433, 107060.98406819504, 105613.03263191387, 100095.31892926185, 100040.78062127637, 100767.8953622426, 101920.26929593776, 106402.53272607827, 102414.26880196393, 117416.92999903188, 104689.22488261432, 100843.162101811, 112138.73586446914, 108341.90520728003, 94874.85607701728, 106458.63039193215, 98021.14459240047, 94865.05385864529, 99508.28384317041, 110839.74352504546, 100012.43785343567, 99912.22715080774, 99752.84544441116, 99673.43216686984, 104818.19131689495, 102967.901403443, 101522.49985972245, 106275.01268171496, 95957.26085930585, 107469.37045087562, 91526.65651150601, 102377.21154565146, 106331.63485884419, 115368.13482283504, 97880.38176384445, 100105.8489074455, 101796.43620650865, 111306.62481936452, 101752.6122541716, 99749.0756589016, 89551.69322462786, 101978.07226301012, 112471.38678606543, 93448.19913534229, 107546.27565746284, 103558.66484902993, 108031.82932109167, 100419.74991186813, 109469.63051146975, 96262.26217213624, 97383.33079376629, 104339.94609927211, 108562.25334481917, 100868.5573538818, 104758.56915732153, 100854.35608409529, 99635.38617824423, 102097.42885862476, 104110.07681340043, 105111.60641387741, 105007.19764014814, 106521.02665069774, 109755.91171364846, 96643.97220959175, 104272.48834769148, 110269.92493681874, 107723.4341747906, 103623.46865359158, 103978.61476385876, 107039.98558938464, 100965.04200303194, 116476.41481247166, 105871.23220500295, 102025.86351367654, 96131.96768813563, 109140.87719327422, 98095.1929535362, 105540.07531785837, 105096.93800380747, 101917.498845188, 101806.72636884451, 102676.49695714064, 101212.12948460455, 105593.0884453789, 102670.43460558394, 101109.49389552495, 92373.45678713976, 103741.83386613402, 93729.9626042428, 111185.2891174869, 111825.03094719088, 99169.8239958451, 101588.04897749874, 106653.46436512918, 106849.80725228168, 101341.70388328849, 98456.51472015255, 96047.70556020211, 106437.5994898183, 101187.65487356922, 108467.48579940856, 104954.03672383852, 104452.85900995841, 105641.45333236591, 99703.08771149123, 97573.66968005626, 100271.04823725889, 100051.89744797298, 101624.95655828736, 102601.25381112551, 105226.19438880292, 102014.34532116388, 104670.37093499384, 101372.09207949067, 95885.05972367738, 115643.14407261576, 96219.26492011799, 94281.56019868734, 109252.32914854356, 99505.11938392198, 101949.5854622691, 112882.49528962329, 104248.15201809196, 101901.3311263224, 98118.1750011837, 97226.91462732089, 102205.60467157907, 104923.77271185885, 106418.2411551473, 100873.7616317124, 106614.89157770122, 99942.0340923798, 97800.18999335355, 101600.22064277084, 103482.60740364523, 102995.10014029455, 101075.45928684642, 111343.54753719551, 101461.11956474687, 105600.45661047426, 107318.83313138744, 101947.14764964413, 104350.41750189743, 108692.00005152094, 106648.9036870343, 107790.43996068949, 103740.35231842025, 111279.40244522861, 101972.14098077614, 100614.83390981282, 96174.87778435861, 109629.61196161358, 111534.72549770623, 106101.64166346415, 105763.71894940658, 93902.81462509035, 105782.68208729962, 109022.98605254042, 101213.25114482566, 97311.08707979613, 103098.41006691306, 105782.87433777947, 102662.3166120525, 106063.62431647105, 98833.59375512856, 101567.55215447464, 104419.37674085959, 102822.715500073, 102456.93948128045, 102610.70626096519, 101719.06657327128, 103554.85237910101, 102683.29855139952, 106712.02590690355, 102695.4312197648, 92282.08516915739, 103188.07973250702, 102940.35042898718, 104387.70789427619, 103110.76653875397, 99880.52390540674, 99075.63937678903, 100486.42591865045, 103098.92782671335, 110160.68004529354, 105627.94513103571, 112303.45913830103, 104593.13803518585, 107740.58089561001, 112161.62202965011, 97315.12522751096, 107163.6804560051, 92562.7855695143, 96766.117508831, 106291.8079733318, 89156.34506000785, 87300.1401626094, 108390.67605215947, 103744.77386459659, 98312.39771003815, 99533.91805741687, 105041.73146889995, 104053.78692988155, 106329.52200945435, 102750.319640719, 104035.96240231067, 92635.86212949149, 102299.21817460124, 97314.60787405218, 102054.00070077633, 102501.36137223284, 106944.99065906277, 89376.39218573191, 112227.54450563145, 99809.90880333078, 103152.8341373535, 111093.89721475806, 99748.64658999493, 97480.61927329055, 102585.73539939352, 92855.66839867752, 104865.10103189369, 98986.10005059124, 93359.74950186581, 112922.33289199456, 106919.53875445462, 100035.92085035112, 92431.56165383189, 102739.22333913395, 114550.66761732582, 93139.54697218137, 112140.70980628327, 105982.83209715877, 99631.11465348871, 95566.5162534559, 94975.93347541701, 108126.01362440869, 104630.5188230339, 96675.86050111905, 109022.42871548791, 108577.66062390045, 105526.63656172821, 102266.74709365264, 99578.76812093686, 106717.37166630857, 93931.48861952507, 95974.25552122296, 102414.74258648985, 102952.6138701352, 111566.91847044445, 92316.45652701688, 94895.89407823031, 101617.30781391854, 102616.05320600454, 104898.73224959834, 105847.22070603793, 101691.3148506715, 97523.11662790623, 93396.42357490976, 100169.7684012931, 104349.75762151188, 101255.04815938702, 96299.60050290092, 103348.03968543085, 102781.72954912619, 103272.23986266914, 97922.52848270418, 107828.84234528887, 101801.22254195016, 96405.34510182038, 105758.35504824632, 104818.71180397042, 102729.5559507343, 111453.8403633313, 100593.96942497362, 99473.95414764328, 107307.92618016762, 106343.27688738926, 99944.06021518252, 103419.40244618582, 105126.19811107042, 104727.53383283921, 109640.0538540024, 101321.3442048677, 102513.2268477064, 103384.1369832725, 110145.09255206556, 100461.84098603665, 105946.04819658103, 96031.03946015218, 97446.49595360101]
# print min(results)
# print max(results)
# print median(results)
# print mean(results)
# spfirst = 1132.99
# splast = 2106.85
# print 'S&P 500 Return: %.2f%%' % (((splast - spfirst) / spfirst) * 100)
# print 'Average Return: %.2f%%' % (((mean(results) - 100000) / 100000) * 100)
# print 'Max Return: %.2f%%' % (((max(results) - 100000) / 100000) * 100)
# print 'Min Return: %.2f%%' % (((min(results) - 100000) / 100000) * 100)
# plt.hist(results, bins=20)
# plt.show()
# Run 4 EMA 2014-2015
results = [105513.50097844185, 101545.58549706101, 111952.81536591331, 113556.26721909139, 107771.05001996017, 108736.0025429634, 111616.37204088646, 91544.3198642305, 101408.46587060868, 104408.46582812973, 98531.6414184967, 99358.67384287801, 102281.3741730674, 123415.99798579975, 105867.305089415, 103573.50055750528, 96478.20513919904, 101974.82098712878, 109240.29135351462, 101984.83694590547, 102403.18208354611, 98986.83077911208, 102006.92515873471, 100016.6475555141, 118521.45602469333, 105223.58644754264, 109709.47287885039, 107806.53373951658, 110597.0530514071, 100310.89611757759, 103476.9846299149, 110151.00011866339, 105982.06584429154, 110816.58568075244, 101536.81609616583, 96772.55330865606, 115546.310653726, 105699.6648616927, 104049.97305715506, 105886.29926101942, 104830.63460888903, 109308.81195395245, 110988.71620167045, 110098.59582157532, 112441.82291786194, 119144.17737386962, 103257.90382701022, 104112.6115656948, 109846.1978316778, 105681.26409788892, 113721.84239524271, 96976.75168980261, 99184.12290258789, 98985.81883303118, 89399.32534609451, 105319.96609343994, 103310.10061490533, 111736.81206628207, 102523.42046979125, 104599.25579074404, 106350.79809169692, 104266.17927979439, 97793.5451774016, 102973.00111855756, 99183.99319315249, 115776.8367798554, 103698.91235049104, 96221.99278256354, 106256.57228058354, 113585.07549025076, 104351.72178416743, 106142.66141390381, 106861.4660195819, 109887.45740654998, 101286.12383700549, 120518.44909248849, 111490.22936112962, 108230.38363148419, 106043.36808340652, 100705.91501578696, 103273.17107379397, 97967.17976767433, 89044.86699323021, 98006.70905555521, 104702.22952640645, 95576.54326498564, 101710.10538145216, 95479.96870182695, 97899.30007183473, 107313.47526410734, 106988.1933076145, 114474.65820970909, 112901.67662275824, 106387.04616012432, 90439.47826322104, 96877.7847670534, 108246.49043503767, 104150.06885512645, 107013.0442196048, 102364.54561359054, 113778.10823655916, 99615.07564723352, 104619.68083560259, 105023.73514723223, 104684.64541281007, 99685.02561479647, 108683.64721609038, 112115.58259917182, 100159.94727739737, 95398.58367832807, 101991.97079209957, 102434.05345565968, 105255.38215373358, 102533.09442956783, 107843.42175326824, 98865.4377580875, 113426.82978937989, 99187.47546548571, 126125.82132538426, 102323.39774363721, 107224.60655967364, 108455.25179589941, 97226.18250455953, 119642.41347605333, 104186.60831363953, 93044.98628413709, 104981.50702657196, 100749.82504452339, 103995.63402428763, 101479.70170213947, 103040.81379573759, 93571.75282906265, 111389.32355526314, 104784.60759680129, 97247.18984276627, 94432.77515605684, 103828.66827483967, 104531.13090555038, 107492.2785050973, 109300.37226858381, 102655.22535938592, 112857.10910910534, 102561.0775516889, 106683.65412071104, 103488.4718027318, 102604.49515353484, 110423.25843714474, 108824.97838769015, 100080.28187422671, 96236.32565678809, 104475.70118980062, 108135.9307355275, 114076.4798774033, 104632.2817716584, 111995.20771412895, 101853.43156870829, 97408.73725081529, 108877.42560840557, 105911.2103589424, 116557.72466665621, 105904.11980939921, 107020.565081404, 101641.48969341525, 103644.42720871452, 109243.78043692715, 107171.73429425484, 112605.57033373615, 102727.45348900984, 100372.44921955446, 102240.31718272911, 99919.38466687535, 94005.16926543148, 100216.40897023663, 103713.41414447842, 101602.90776176125, 101465.17690887704, 94501.52336093587, 99884.1434885558, 97885.53968151782, 110168.4925243882, 95403.38215718589, 124354.71800049425, 109782.4537109604, 116613.42616697375, 102511.41286295549, 107309.1442520035, 98428.637458606, 103802.10031701835, 99484.31791552286, 110634.74107587447, 91424.25605659402, 105188.36470161303, 96281.23022729623, 99869.86510838196, 111678.3283867189, 105365.14943638674, 101140.58275931343, 103283.68666363735, 105986.33773068199, 99700.2568471133, 96727.99422399125, 97431.50207183667, 115266.77615969715, 104975.99873847523, 99499.6500852239, 105627.47080963195, 101551.87083790929, 93601.54031458842, 97038.05316025631, 108562.57057491117, 102563.06553118174, 105321.5643601335, 102735.03244757708, 102414.7804369046, 100868.40253788844, 102608.32480941391, 110274.68854994861, 108651.13480800389, 103885.59519876508, 106949.6388546723, 113236.40035369647, 102986.53161339887, 99701.87833439288, 113993.43869367434, 101391.4675665648, 100558.09108570051, 104736.25527698701, 103056.35711566712, 97314.57036839981, 104764.94031588112, 97891.07444241748, 105980.00191828544, 93356.39272150963, 107555.60039289131, 108834.07341955657, 91854.73421957313, 92924.39527467311, 90899.19807243897, 98606.80027885888, 112460.86206327667, 111517.70834905283, 104427.92077931261, 94380.79855671753, 104648.00565672634, 97758.01700463638, 105360.91527960758, 100296.19994245283, 102040.88688004189, 97220.67321458975, 100429.25921837417, 98429.62780026442, 105272.94620228047, 99586.22834479464, 100915.09889126876, 102093.20367415824, 100785.68971626741, 107610.28682093877, 111047.3370012489, 105393.50967311906, 108497.49306789711, 100599.38467822186, 96228.90490292922, 99079.9337911304, 97932.59254794833, 99936.67152571309, 93787.8996307055, 106061.23226523663, 100074.50618409604, 115375.5871000324, 96745.97743576209, 104181.57205229267, 106769.31058776377, 97104.86215839152, 113365.57647624875, 95812.8799092974, 104053.19707077614, 102535.24435092488, 101079.97608854738, 115967.34948203644, 111531.25304104165, 111250.7319674701, 100138.4648187542, 104167.54615726264, 103901.22668240154, 100405.17196214484, 111227.29978748871, 109373.74260351773, 108628.65062236454, 115238.78431974555, 111062.46497538108, 100962.34844160851, 102235.72378962842, 99530.79637563047, 111662.8062164231, 98435.24025884259, 108724.9296804519, 94117.89312178013, 99150.8315353586, 98885.43890895449, 105096.75703653178, 102388.57793190991, 111602.54852466504, 102079.18678491031, 109285.75342420067, 102201.46963796261, 98875.87128382415, 105581.4509552675, 99651.65946467215, 116152.32922766246, 95451.89316224324, 106829.12638378567, 98528.21147590372, 102723.461296513, 104659.36471816138, 101221.63274369296, 102024.52193356969, 101716.39282195548, 100666.86879417289, 107687.56289737215, 109546.77133380952, 109943.25601563232, 116924.1348206506, 106167.45759561015, 117072.92230782179, 102190.90210949555, 106212.75804016003, 109524.9092936016, 93735.78490472258, 110523.82499765788, 99019.151189431, 98429.59766266568, 102327.49456316273, 98927.13730525628, 109499.52997627905, 105219.01965364652, 111343.66541338565, 98700.50922346175, 103333.284727592, 105654.38853325616, 92903.19892290013, 104834.2738999272, 95540.888486863, 106568.3179661684, 112938.91675502974, 109965.90298353473, 107185.52750600873, 98984.11557197072, 111547.5574707187, 99618.01937476598, 113153.75153669676, 111537.70903118553, 93296.20519757409, 103222.0896338025, 96350.55276795663, 92247.10687797786, 89011.56859345338, 100886.82264578331, 106225.94900587271, 103620.09544077152, 115662.31397409865, 105610.7044969624, 98902.31014517961, 101136.0016459044, 101540.81603909668, 108091.68875328446, 111236.01571010108, 106828.55272998473, 112053.93419259867, 97530.49062818666, 111467.97623039132, 103989.37994363072, 101297.17650370607, 101797.6404586878, 106273.59229127664, 110974.8889329795, 101695.06141887329, 96661.89161657894, 106867.1691428202, 100148.18538597862, 103331.83577692743, 106641.88624699961, 104600.52802979124, 102745.42520572181, 101989.71589289725, 107410.05631696167, 109845.7147476106, 99621.70719207879, 99798.55812268819, 106063.17117926318, 117057.22306765903, 104938.37822880116, 98383.67440170054, 99875.30230956447, 101144.02778080993, 103643.06626528877, 111306.33908216596, 104861.08196145672, 109820.9732840323, 96886.73885122588, 108555.69551614227, 100364.0290198685, 108895.11370434938, 119590.71716896616, 108493.83601426207, 113140.02098339835, 94548.20333013666, 116227.49180199321, 105563.24239308477, 119069.30331395028, 105326.6438555852, 100511.05876415796, 102122.65185770053, 94018.05915932189, 100725.13698640307, 107541.76823671297, 107562.78144220127, 102088.85508772552, 103066.9808001951, 109308.78007978608, 127203.7055351243, 103265.59713779137, 96492.42586831197, 122464.79188168829, 104923.0064407476, 108280.23604047345, 101808.68487501549, 97435.17173512964, 105800.04490238769, 109820.44388453927, 121281.36150492153, 111360.97470276043, 104090.5111620557, 98667.89518882846, 122206.51648712151, 103604.01228190548, 106502.15643937133, 111841.78556342344, 95589.36274144119, 109473.87240223342, 98844.5936525983, 96286.71622949699, 108311.97028142883, 107155.75426884624, 103404.73349148841, 116433.99178328691, 108588.1481480661, 101658.59732775288, 97067.51798601632, 108142.99710056429, 99660.15115267188, 122013.73663275933, 101478.97217923004, 99668.07526045195, 108614.07092011157, 105728.61004826266, 109721.6508441281, 102479.99118820089, 97327.37092837895, 101221.59564394577, 95248.7046864153, 104108.62043097311, 92582.61131664182, 101321.176466036, 112130.2886973243, 105674.99010897623, 100686.2761354021, 98377.18927381143, 111670.1331881875, 104061.88316565346, 118481.3161658184, 105980.50322293377, 107441.8252339507, 105823.05389432026, 102307.23992731146, 99205.89584032059, 94060.5700604604, 101014.6683356194, 105648.45251967752, 103781.56104103642, 116263.25521444237, 101588.03897255265, 108403.570687223, 108830.43006216029, 99402.30535891981, 105596.85784811382, 96117.81991118954, 106677.0900832022, 98723.0119858292, 98809.62232042383, 93239.07222725882, 100776.23894357275, 101441.24835090432, 107244.34956056807, 97748.94728011303, 107693.55851689269, 102158.91212327877, 95420.967899783, 102937.23636586145, 95788.90943165781, 104338.68195386506, 99818.9614356122, 102790.12507979064, 99398.43419489618, 97574.07409110709, 115784.7300931567, 97389.64118092698, 109741.41292250664, 99459.09306615683, 101067.45085969224, 107894.98690849458, 105945.68069155327, 98427.96419481943, 107815.49557484232, 113146.38403527456, 102203.33535904877, 112249.59970157544, 103682.35179206109, 104591.63270813235, 95265.81664372087, 101750.48102384848, 99122.83483293175, 102898.53376011844, 102623.93020906775, 100109.20880452442, 110640.17830834047, 103620.71491532042, 106933.94713722487, 99762.1497407506, 99204.41324195785, 100688.73940649915, 95439.33587977197, 90798.44185570843, 100751.90454244314, 96430.65637634687, 103061.86094391147, 101957.11920645439, 101933.94523243167, 108127.90853551571, 105282.147893849, 105162.40101509879, 106114.36940354825, 103530.71651381886, 105719.55099992763, 102779.94300892408, 100890.98738765466, 106429.49722710527, 101100.37656816824, 108626.2962979007, 99369.0530103914, 94296.11840833908]
firstyear = 2014
lastyear = 2015
num_stocks = 10
trials = 550
print min(results)
print max(results)
print median(results)
print mean(results)
spfirst = 1831.98
splast = 2114.76
print 'S&P 500 Return: %.2f%%' % (((splast - spfirst) / spfirst) * 100)
print 'Average Return: %.2f%%' % (((mean(results) - 100000) / 100000) * 100)
print 'Max Return: %.2f%%' % (((max(results) - 100000) / 100000) * 100)
print 'Min Return: %.2f%%' % (((min(results) - 100000) / 100000) * 100)
plt.hist(results, bins=20)
plt.xlabel('Final Portfolio Value [$]', fontsize=18)
plt.ylabel('Count of Portfolios', fontsize=18)
plt.title('EMA Differentiator, 2014-2015', fontsize=24)
plt.axvline(((splast) / spfirst) * 100000)
plt.show()
# Run 5 EMA 2006-2008
results = [72611.9214383127, 62871.65400388563, 69649.99493155527, 47345.109087171884, 82888.06129519631, 69472.16447029279, 58438.92896443754, 64178.82864576685, 62081.107218337915, 65072.260215202776, 66318.84901323752, 62994.78587126593, 56159.795188615666, 76120.37044004457, 66777.86071048726, 52432.538111960595, 54715.32519077959, 57794.69748940541, 70106.4997423263, 59613.79866703073, 49861.266592472595, 68470.60560695097, 69615.7757877439, 76764.82179887002, 79501.05196149644, 58660.917531086, 75862.9704601132, 51246.30280516621, 65379.09699212969, 51164.39814379704, 54922.67937677764, 63594.22355175102, 53877.09707907083, 61588.23234014423, 76269.43462863358, 52132.69522514811, 74140.81858004474, 76195.88270570496, 59071.25355398258, 72104.93336954866, 63973.67012961078, 48893.07993881625, 66909.99838705282, 74871.66223882989, 77843.59500602787, 67382.46416660833, 74564.89415461787, 66528.76859867407, 86799.78634680902, 63744.299745832635, 62489.460913255294, 54710.574289191034, 65281.087480358336, 73744.7416106839, 70009.70443355702, 62090.54688336964, 67953.57488677601, 67558.80509307026, 67540.71645560826, 68410.74455310087, 61117.70865591652, 74010.95882352165, 54196.656973327634, 59167.015211608494, 58547.95487211487, 58948.133151297945, 65764.14716313974, 64582.33503751646, 53782.88638245361, 57608.50469171217, 73266.26422779387, 90091.24102641872, 66879.4619232238, 72613.36907780849, 64171.66603185007, 74271.58187796475, 81980.44795320024, 73008.21791831817, 70439.26893529977, 66594.79317382834, 57974.7972942429, 68136.90217892059, 55913.117118751354, 72821.40794120233, 57033.35366567337, 66092.11856579651, 74703.48822367552, 64888.30461656944, 60104.141264343176, 51470.23643281852, 62804.42011699302, 68473.35758323812, 78533.76363018491, 67373.49006767476, 70132.61414718562, 58999.821718259496, 77942.82767977819, 79800.4748140132, 66281.46382099354, 62902.67036217258, 67986.26450971732, 50850.97572191376, 103061.26592000629, 69124.06107447633, 59376.78687444964, 70391.9126877857, 48166.31519285812, 55230.34796323905, 73019.76551788958, 66199.55810229608, 80856.22507302015, 66693.31276645142, 65345.106369929956, 80594.0295935536, 80087.62435592641, 61541.64848705933, 65310.23388289904, 94152.69746861244, 82048.81604522801, 65232.075864042476, 65419.10568068967, 84332.19500268613, 75810.37208639485, 56005.53042777721, 72671.50330967797, 64742.27269380557, 84947.20486489579, 70654.90438421299, 104211.7651669085, 58551.58536459816, 64063.72087360502, 59876.2116798816, 69364.46117288526, 54427.22480986516, 61822.73351238601, 66085.99354986519, 70644.93453887306, 79964.2043136911, 76413.74208479137, 65561.93699564756, 74727.39222785571, 63996.06905728249, 56557.34619558438, 77012.09015253834, 51141.426031380084, 49292.784084595834, 70318.08908424976, 87673.06129635274, 80710.42294845657, 47528.197056291145, 66263.75452362315, 96057.87126362385, 57865.85382630005, 53205.51210738231, 53189.568228530305, 82349.09770775156, 64707.76610714709, 68200.63642724683, 67601.24719152696, 57052.67974470126, 55058.127038124934, 53002.79000876929, 56408.4073897804, 63219.92353560615, 51805.99648513992, 63395.75942493035, 70485.36829503089, 70326.72169142336, 57863.45248735097, 66444.61023527577, 59077.05350510355, 74608.92354483742, 77458.13109732897, 68096.35009916552, 72237.17795221058, 76079.66880618277, 83124.61496793189, 68290.8080571186, 78908.6884671411, 69827.84325980795, 63825.43607036067, 66196.07705598832, 57434.243632633545, 87017.53562951958, 69083.36124875242, 54425.23653644086, 69580.5031314961, 57686.60065627546, 61402.439574249, 69300.64758669597, 73129.2626023777, 64168.024958464826, 77555.94218957158, 61446.97062387879, 70233.76735488244, 72723.33100402149, 54537.049979606716, 67096.99684077283, 61067.383100558734, 67297.85691239925, 49035.333250829055, 63861.10735694593, 68017.6992816133, 60428.31728123417, 69736.04722288802, 49016.64041213813, 82527.55338425825, 79029.3007157996, 56843.66414389653, 66015.314154458, 53942.02765789681, 56349.7269544866, 75929.60874125973, 79305.56179251953, 56609.39736501723, 54996.07563506024, 65955.14208783513, 67975.62974434075, 93892.53587941824, 88186.56351993793, 63774.78490074945, 63334.760995398894, 70770.35624719357, 72491.42389128346, 62119.73672458511, 74769.70956325412, 72026.86008407263, 68945.56693725577, 58048.107632359955, 60775.83433760487, 75453.84241421931, 57398.64214832024, 61718.62675537125, 74399.01048623852, 70863.71902637454, 59601.7939554648, 53505.089801978465, 69090.48898979252, 70178.63793008844, 47207.51019679858, 62276.378837193275, 75032.09265173125, 66563.50610342651, 60461.35768328263, 67702.45265939033, 58083.87460426058, 54671.77453803072, 65442.89121069467, 61010.75092921442, 63154.3785857458, 62880.53288884582, 62651.23079530031, 76643.92464238312, 66949.72263830414, 61951.81429041088, 60397.74798565188, 66859.99557400036, 65417.059836323446, 68400.93516587703, 83980.76489282357, 64811.456634342474, 68909.52097717438, 53928.71845648586, 60053.07925425675, 57610.21622386834, 55645.98918099481, 67470.35366240353, 65337.89811141427, 69132.73704128689, 75712.65731345689, 68530.06233822822, 44819.06402917685, 75499.89176695557, 47311.55017656083, 71735.23391607158, 74686.78737334521, 52300.66870446356, 58689.92412004848, 74748.65815247176, 63395.84077510348, 54197.70074202125, 63801.36202739183, 68027.10880035747, 67074.78800496744, 77547.62376044122, 61963.95266962689, 67860.00942882369, 66875.05265074086, 65129.32687023635, 70165.73090796165, 71789.69647380598, 57524.23746383278, 71074.56901511853, 56928.700061785356, 51162.27598662427, 68649.48610990656, 72727.55831460288, 65147.509045607636, 66941.63196128333, 72988.65530076867, 78488.49241881857, 73794.43094537078, 93829.35750093067, 78844.50815351136, 53851.83130041101, 76958.41580281407, 86137.66903651193, 75662.46810869126, 57341.01937606407, 60900.986166432835, 77590.70542580204, 71248.90719155787, 55624.45326747782, 63016.24307943476, 74967.05025114799, 73826.83895181588, 55650.86388344677, 63335.2080627045, 56501.606431931534, 58648.918004105304, 49470.96932279093, 63244.16999038127, 66254.2882800252, 75683.86218065045, 84328.23074422976, 61578.29266324923, 70568.01860752946, 69286.0430747153, 77434.88311301754, 75290.76270841467, 86030.00277731463, 74055.43140620267, 59742.70456111222, 72609.09147437318, 69258.97666813017, 67004.01702603463, 56939.88562228653, 62125.29335338562, 58396.264465546556, 69949.06919606408, 69537.0333726843, 63517.21477899567, 72065.05611758027, 71988.06960766167, 48515.26045832419, 77629.65604507645, 62506.16927464606, 82582.74468231204, 63032.46158292859, 67231.93920696696, 79453.66663859783, 55495.4911334489, 65471.563712917385, 47688.23393390915, 86277.73168136147, 62049.02268714308, 73532.87407583409, 63457.46815574956, 56447.50318734222, 74706.7353716469, 78866.4695192388, 60660.5706983148, 57598.53887630979, 70715.7887746523, 80605.97891920632, 71844.84707305414, 56461.591150553024, 63154.42689866287, 62872.28193779437, 61091.62484784451, 56626.024791865515, 80948.51730447156, 76620.44723687379, 68831.70177437241, 66570.30426534096, 61312.847734810835, 56346.74274773938, 69748.0347217804, 97025.27659288351, 71525.1468359801, 88855.87815446786, 75353.98833311231, 73289.70054075668, 65233.4204958201, 60643.35311192449, 71990.6630769391, 58149.661311829535, 57957.72332986751, 68271.90163032472, 55536.75923292868, 52436.17228670459, 59973.39176887571, 65706.49320450968, 77203.59470248007, 83675.40177490769, 81628.77995765957, 49905.22024132281, 65338.5124457262, 48345.79880388626, 63875.89816418267, 66916.75801801795, 65598.62192042248, 41101.62647401185, 54633.06612767573, 58047.741543832555, 55114.822059610284, 70457.33611297664, 80583.50148962074, 56512.26760557611, 59568.82163973094, 65337.126633565946, 58343.73592464351, 70657.88759823736, 62590.334314670574, 76416.89517769596, 66015.44992534061, 50591.57818976796, 67070.09747593327, 66903.11567629686, 65522.027226934784, 61638.698627772894, 78123.09012893843, 85162.35744787863, 53916.29326290198, 57812.919754625436, 59337.8822531983, 68899.75292051885, 68150.60962358775, 55313.586313269065, 72110.35300337762, 82332.7464180796, 53548.21655871886, 77826.42420997792, 67240.38512199117, 61642.0412808442, 65304.69841649375, 66364.17470115013, 71223.3470568573, 67187.49034378657, 80828.91856463446, 67166.74832325408, 60302.94953061426, 62668.639513625174, 80250.30266550479, 71432.3843374212, 60467.56482794926, 58378.053012507335, 65964.88500312783, 71898.14319950476, 72505.12026323206, 62058.425444381646, 82602.38676556642, 77591.50184381867, 51182.55913673398, 75374.14989811929, 60780.01987090286, 80834.30146100603, 82414.10420043222, 64911.807202346725, 90567.57751508421, 67189.04917841803, 67594.90387257245, 62193.41597897587, 65348.95570463032, 68958.31640285223, 69179.29925478139, 65394.253443723755, 73049.70557712077, 48439.70652086552, 59012.49444560184, 72601.1470597606, 77586.2811655269, 50508.473634928756, 85031.1275324618, 59010.205913954844, 64629.96989902885, 50369.136593619536, 86684.65017921475, 72856.85408022383, 100298.09161567499, 72126.59076309974, 51278.7690568189, 71072.65418642982, 65720.13717614119, 63889.823543172446, 69986.47695715085, 60639.58653161298, 56110.79818628408, 72748.43362066132, 66120.78261189046, 58202.41749639689, 57135.32544070379, 51906.379827395416, 57640.10469331907, 49323.94360193527, 79619.79769239711, 63082.84709487582, 75859.50629524676, 69573.74350427037, 65070.569137478335, 59878.19681454451, 78503.80643054235, 69822.72135113398, 85871.15612642396, 74762.5142803379, 57179.46596328419, 69276.44868325253, 68393.50593062404, 54604.906245669845, 69828.75886364514, 65668.55498430158, 81803.15511222904, 70515.8414854578, 56136.773552276325, 72032.3827455261, 75342.3607893527, 69050.59149896588, 69126.01153927529, 67089.78636195886, 76115.272097075, 82295.59553583225, 66892.74930311437, 98056.86967506864, 68385.65009643734, 61396.92069892569, 55833.65397819852, 53197.84920430417, 55487.50224995066, 64996.92635439071, 86656.9027890341, 68518.48854920449, 63284.069450313626, 64702.22456020145, 72660.34216900678, 78058.55043890304, 69036.41893452636, 67508.81222182988, 46068.606238609136, 69120.27058460939, 68179.48000208654, 58774.41414330001, 67672.99102955098, 74040.01814858352, 63982.940001116775, 65245.53703949238, 77232.86950511669, 62878.836783233564, 64505.873362883794, 68493.93506711314, 76518.2539793149]
firstyear = 2006
lastyear = 2008
num_stocks = 10
trials = 550
print min(results)
print max(results)
print median(results)
print mean(results)
spfirst = 1248.29
splast = 903.25
print 'S&P 500 Return: %.2f%%' % (((splast - spfirst) / spfirst) * 100)
print 'Average Return: %.2f%%' % (((mean(results) - 100000) / 100000) * 100)
print 'Max Return: %.2f%%' % (((max(results) - 100000) / 100000) * 100)
print 'Min Return: %.2f%%' % (((min(results) - 100000) / 100000) * 100)
plt.hist(results, bins=20)
plt.xlabel('Final Portfolio Value [$]', fontsize=18)
plt.ylabel('Count of Portfolios', fontsize=18)
plt.title('EMA Differentiator, 2006-2008', fontsize=24)
plt.axvline(((splast) / spfirst) * 100000)
plt.show()
# Run 6 TRIX 2014-2015
results = [108024.55088788983, 112472.99717514243, 100338.11835763897, 115042.87966480381, 93670.45616525316, 97652.31205671608, 105794.90278149938, 105648.93611835528, 105705.35501376042, 104047.78024324973, 108092.3190264261, 116780.89500136871, 95102.30462587476, 104925.54010310034, 98155.43638110928, 104353.70260842411, 113166.6375468662, 103690.9406163462, 91305.00800963173, 108199.62947022993, 102768.07866896522, 105031.04637188878, 106199.00619103583, 102759.87367425136, 110018.12704774235, 110940.65451424893, 108520.23936758249, 100136.2690459812, 107415.73957882768, 104941.94245873223, 104930.77345456838, 101290.29128942055, 101412.34740833055, 107510.0523341594, 108089.90220804568, 102626.63909380279, 107612.00433590829, 101507.22716144689, 104407.4039944019, 103546.61668100413, 94584.10485513697, 113835.46655592359, 96679.48578612022, 98694.4768436442, 95012.72846255382, 94193.43425578403, 106544.50224911346, 101463.11544072231, 109512.78321102055, 103522.5386717543, 112437.37565153577, 103626.56133216206, 111532.46917189368, 111063.9516639862, 106726.26530394652, 115999.57833591891, 104599.22425989382, 106229.81975656957, 124303.10149342798, 99128.31473151321, 108203.93106749722, 104145.34858929353, 100035.48722491936, 97987.3409075782, 109428.3824855968, 100583.65732897444, 95530.73545525265, 108937.044108151, 103963.88330215725, 98262.1858194288, 108177.93510935149, 103826.47911291433, 107939.19178004916, 106255.3846838592, 108657.9139644616, 104263.05102003351, 105360.27065586993, 100543.56364379819, 103719.28053526067, 106961.26604864428, 96774.643974243, 110345.29038551159, 99970.753126899, 109346.21074709066, 122919.12607267802, 104130.9698005465, 99297.52471234131, 108516.26850009452, 113308.91824389335, 103404.50018525968, 107774.78205604441, 105260.24246784646, 104617.6055514464, 107683.86835402786, 97303.72093744439, 99038.24905814473, 104348.8453424148, 105594.90837254174, 106031.29622992617, 90919.4828758236, 108438.10475808175, 115944.75714380963, 103292.39033968963, 104287.83758863615, 102882.53583378447, 113665.69570357748, 112855.18963410913, 112999.0373983849, 108833.84849472145, 104877.98619488775, 103960.5101999033, 105563.04761743061, 103353.39594133101, 103567.74943765948, 111841.76883695865, 108697.49088390685, 101807.84904277227, 110838.76118851939, 112368.81727177536, 103513.54022211517, 106121.24333418593, 108258.15065047014, 107269.53147397251, 119639.76994223229, 104619.5914525086, 107015.76188645154, 107984.10495871918, 101487.73394480061, 104012.83031043799, 103523.26352198499, 100297.2747363093, 97643.33543813047, 101254.36392444182, 111255.9408852621, 105662.53348289842, 109505.17708526982, 104355.59039904624, 99450.43835120069, 108814.56761357258, 115187.09661474322, 105312.1401657076, 95241.34482739809, 103937.31103993865, 117595.10379436778, 109065.44252362159, 103425.63668610634, 105642.6094164195, 102273.54236294629, 109738.25550123754, 106779.75684465488, 113559.46929138887, 109577.70120881176, 113163.6105915616, 100116.20773121878, 110347.09316928902, 89156.15278390358, 112019.61538963008, 114364.22515340058, 101006.90906946495, 101058.69895064403, 99376.01234043935, 106885.84113237298, 113192.50545817168, 92738.64183699264, 107911.89401748037, 103025.00354683466, 115987.66129708455, 103435.72053961082, 100998.53633430711, 107586.58504344971, 104248.64645316795, 101563.19847296282, 98375.06574052839, 113557.80830921014, 97676.72732301024, 104576.59007880578, 105472.72232325471, 113780.69296534403, 100803.40650752414, 105788.43160061535, 101460.89987877895, 107975.76055142778, 111604.68558053017, 109398.90038131941, 94292.11123894567, 103119.57227362868, 106141.04374795496,100504.95553916962, 112680.49438853367, 105694.21316329116, 105076.85364824712,106675.68165456319, 94669.81271585681, 111432.21750450622, 118420.94463346581, 110170.49257082224, 107424.86993155071, 109363.44207507207, 112572.50843162199, 97757.30654468166, 110506.54681049281, 98782.80603650287, 110304.60214268965, 115630.25109015661, 104709.79475505049, 103488.266958231, 111758.54560932079, 106074.10685937782, 103520.44248563862, 102576.90912354601, 103348.00666345628, 99489.80010568199, 110713.24577960928, 114662.50230263502, 101392.07945863059, 117143.88503542548, 106090.23014916714, 109984.32698457502, 104125.88644320045, 107877.3947521943, 97650.30708737223, 99977.55261028337, 104885.49443028486, 102344.52866167402, 94731.65922378715, 106812.1764129077, 98596.87053480404, 105181.35447658462, 99750.07197468364, 102252.5686138854, 114530.33522313155, 108995.97956397483, 108144.0807818807, 111272.5939300175, 126329.09400072874, 111262.84712576374, 112444.00053898172, 104486.19915467873, 107105.82844726843, 111761.61480070438, 117441.91788585886, 114973.94535268523, 109449.63790742743, 107526.30320295223, 105217.94556400925, 96911.50732439288, 97230.96724172527, 105918.61957749267, 101712.17217090378, 106519.3424002308, 104492.9636510266, 104197.69627917738,107722.64266649404, 106583.10853051444, 100473.8465723936, 113499.71971433469, 101538.69514656831, 102282.59134394917, 104231.17901755228, 111738.49999040985, 104333.04859994502, 101366.86735901791, 109220.53724963396, 105371.80086279227, 109576.44679091434, 105821.82437456105, 100437.38385065491, 109494.15851337848, 108507.45319878514, 115263.54692878107, 109765.2784796069, 98030.78099984198, 106636.7202032619, 108399.06879168162, 110706.22329256147, 99391.13804492494, 108099.05823420064, 108791.30095641066, 101824.63761942557, 109263.87798310026, 106376.75651173742, 101686.1692950329, 102533.20528146329, 97108.66794614616, 100960.0528599135, 100996.54706380873, 103425.60984191374, 103607.06102332828, 107576.51362844923, 116691.89101370367, 102143.45828611172, 110518.3573727893, 107824.71045178786, 107598.8572643893, 104863.68902875361, 94924.58669253287, 96884.92223472463, 102916.42229000076, 107699.9300236844, 108334.16245215687, 100271.8221211544, 103821.13197887482, 102658.95774290912, 93873.29547124282, 93555.80248879272, 100055.9340261833, 111234.74197938463, 99858.83269511512, 103640.73062914619, 116221.18364518217, 100260.51958438884, 109851.79206620569, 112074.64963355788, 118368.07976019995, 104343.52493055917, 117240.16564347521, 102552.69397078571, 102962.45450774694, 97661.54201904457, 109812.27202356774, 101417.07348303712, 101990.3597516605, 98897.070429961, 104114.33623501183, 112437.46233520679, 98849.2087225713, 105706.06218755519, 104189.86606245796, 101591.99141877578, 116667.21529338707, 101806.98691108465, 102646.63864389317, 108935.18292198675, 104751.22267740822, 103521.49760389223, 106159.66888017864, 107569.62983261328, 109182.19080074586, 109689.44106773552, 102748.07471049459, 102083.69566551535, 103104.0399678276, 96286.92201096665, 103809.53072939438, 106900.53978181646, 104191.48512319145, 112464.38248168619, 102392.26991276213, 109267.42824961361, 106404.30188562552, 107031.26015040417, 105477.24915578157, 110254.54500964664, 108733.31265403016, 101963.86091892663, 95930.83870693602, 104834.30689809087, 108237.09259737699, 101636.81863424936, 105750.05239134553, 96369.53192049974, 105560.76838773169, 106814.34467478207, 105471.88011125015, 102656.92574359551, 107768.38457081301, 112568.5685806076, 108260.25096799922, 103488.38253932114, 106976.7099057023, 99852.92135527237, 101337.74185250672, 109164.79832441638, 111258.89672338498, 108779.62393897175, 104321.54988025021, 101733.89819613626, 97803.04088150745, 113725.82427749265, 108289.11385117516, 105034.419914864, 104290.61728159564, 104636.08167122363, 103269.22252995816, 97795.00902413746, 109939.69540609552, 100522.67020068779, 101241.27425420831, 96336.32574552245, 104022.88024905177, 90110.03830706225, 104959.42841132997, 100677.2848120221, 113990.16882438082, 100097.71698516981, 99641.7345163227, 109815.06014798096, 121323.72027260621, 114862.62414844219, 105439.61713929397, 102267.56430781962, 109980.91031719389, 102336.27976047012, 101787.02852940129, 110549.2044039689, 100269.20679461957, 94332.30489445032, 95783.03431909205, 106760.52773631313, 98101.9168566918, 100923.08609356346, 98630.54633328633, 108014.53625630203, 102702.00572536181, 115933.68724454935, 107078.12043364646, 95647.39938724539, 100389.14182841737, 101179.43827831773, 110254.75687173169, 108553.89434114615, 109405.53485865063, 112850.88077496931, 108380.8221828184, 99166.363250225, 96538.92028875934, 105388.05019430151, 104830.73179085879, 107393.39354568129, 92341.83665723534, 98849.41677296141, 107225.40835022152, 113155.81908998429, 103846.75354669738, 105184.06785540916, 101684.10470814336, 107050.04266225306, 107518.25001091465, 116769.34658285974, 108644.90199843938, 94358.3056820291, 108230.4356044978, 105982.11954810456, 102603.27830936972, 111003.8533218606, 104104.99792993462, 102722.47412895452, 108268.44149454047, 101388.79525574381, 98353.08491944899, 103780.96271218272,110094.91356448282, 102894.78140163119, 108537.89656693317, 99324.53307757367, 95037.23681308131, 99016.38878388482, 98518.66355783583, 110552.74108716538, 101623.7860476226, 107168.41229329392, 114501.71980948563, 105280.28128822739, 110377.19345128069, 99252.33265896892, 110578.9523081438, 106063.61758635283, 111900.36441443783, 121728.13880558834, 107838.76364047673, 109459.11747740212, 109384.67996086337, 107559.43474341207, 110488.22971449378, 106997.58361668934, 105073.3234996563, 90938.80284918673, 108035.85411988528, 115198.19652162764, 102571.01033694702, 102346.03004908598, 101057.81886304621, 112031.25686884073, 112955.38574158662, 108604.74185352247, 118634.41171822236, 107200.82688643553, 93052.21108775787, 103617.43846619548, 101915.47617375046, 113815.4313039386, 104354.75991764084, 100096.07748489811, 115433.86978604012, 107285.07765300387, 112809.05931312556, 110303.720332552, 114681.05402073736, 115997.1663336556, 119411.69912609427, 99900.79614097599, 111781.53497702684, 102816.2419795243, 113809.76044073637, 106631.23794938083, 108442.61471625904, 108308.13029453292, 105333.06825993792, 96271.83458710248, 97436.23268141977, 93856.54429876631, 111119.61855432333, 103741.02987406279, 109967.50182396798, 115815.20475632216, 96169.40131491309,105805.53126678424, 105601.31895573571, 109487.30737273961, 109718.82640121492,116739.09939946383, 108609.00778669833, 113497.73054875224, 103009.97916631603,109759.13062466779, 113077.99665603314, 102631.90509467779, 104266.9247774166, 110083.15368309389, 109261.79405473541, 98147.78107566838, 116127.56456006957, 99150.00166973946, 102754.09182639157, 101087.78896114553, 106691.22886105436, 104844.33846444667, 96091.36653569844, 104697.84249752952, 113632.79619179748, 109118.233165043, 126837.45511418393, 108543.20906584732, 104350.67553721453, 107987.42779661932, 107103.5371887981, 111431.30218714513, 106989.87120526841, 108017.19228357013, 99228.96762870517]
firstyear = 2014
lastyear = 2015
num_stocks = 10
trials = 550
print min(results)
print max(results)
print median(results)
print mean(results)
spfirst = 1831.98
splast = 2114.76
print 'S&P 500 Return: %.2f%%' % (((splast - spfirst) / spfirst) * 100)
print 'Average Return: %.2f%%' % (((mean(results) - 100000) / 100000) * 100)
print 'Max Return: %.2f%%' % (((max(results) - 100000) / 100000) * 100)
print 'Min Return: %.2f%%' % (((min(results) - 100000) / 100000) * 100)
plt.hist(results, bins=20)
plt.xlabel('Final Portfolio Value [$]', fontsize=18)
plt.ylabel('Count of Portfolios', fontsize=18)
plt.title('TRIX Crossover, 2014-2015', fontsize=24)
plt.axvline(((splast) / spfirst) * 100000)
plt.show()
# Run 7 TRIX 2006-2008
results = [90715.09923984343, 82936.3948254967, 75226.29499564541, 108196.77577385076, 91159.10185284066, 96148.81179174794, 76767.72171492202, 87730.77630959818, 84488.71317518462, 92559.10650970781, 123856.3612655592, 96185.14916993353, 106108.66358940197, 88834.34047882649, 82209.30027723372, 89633.85292053748, 85344.21679718212, 98763.54490001014, 89279.7630287308, 92809.04173372379, 101969.50688374382, 91577.34164637155, 97945.81308175904, 93242.60619134398, 77686.6978697603, 98932.61732392793, 83967.78112142882, 84744.17306002886, 91855.4008395367, 94402.57820995609, 85820.33321661307, 87394.62933080691, 87073.05942219886, 98585.73375855605, 76707.24271575523, 84537.84329455384, 82722.85288749868, 106132.55336025197, 88124.63302486078, 72245.16168525536, 88570.94978822132, 74529.53648693245, 90453.69964517058, 87353.21190535367, 94171.84278019697, 84247.02818173783, 74716.94215034402, 82636.81445196376, 85313.00990252542, 92632.74704644259, 72340.09573208184, 85555.1984620228, 87616.29476439932, 77738.41861980659, 82468.05165441468, 100429.65478810263, 93778.17154082391, 79247.72844167118, 82446.377736961,78446.74365118824, 69488.91175657642, 91440.56238761479, 85238.12699449388, 93436.1826702065, 111188.0690903657, 109910.30861152064, 95453.47935708334, 87393.99420028877, 92124.57665145498, 83918.3633538374, 95164.90755208192, 85694.26569368679, 91952.23667884948, 85002.1934588302, 81159.54851858862, 87728.83991395985, 95134.19830537206, 80700.65890925775, 77572.03313861253, 103665.46977439667, 98042.94169421577, 90314.63061942442, 96423.13076484353, 89422.53492785998, 90091.67621702174, 89471.6108313549, 91746.94514362742, 110009.92626572528, 96029.2204132003, 81928.6026166107, 113870.39189940567, 92571.52964987885, 89737.63534117264, 104897.00997607197, 85576.07844852221, 92417.24793463382, 97001.2564113943,97780.22878827323, 92392.35955042714, 90730.23178787563, 103116.75684123249, 99714.86042983364, 76889.06607318489, 94016.73561605987, 97390.76333784901, 87874.55866113474, 90831.83302963746, 89408.65700433661, 95004.86305395511, 103933.8176618519, 87780.57922230211, 85850.67822266492, 90783.81673556053, 106796.22094123345, 84142.59031648654, 83432.36141910995, 90772.44764993267, 81808.30943311572, 71973.32900320856, 73132.0526599212, 83221.74624285166, 86146.16310148613, 88576.12411068246, 82147.40351396115, 95266.5454586714, 86346.22697753935, 91548.90805935724, 71606.11107402596, 88757.76471531035, 83900.30577822954, 80086.05303119564, 74206.80657756688, 101196.15712158717, 87821.98799931338, 116337.36216737005, 88212.11710909664, 98697.02880261037, 78881.00213961501, 72778.43968615175,92232.94816676127, 87137.23378477538, 79477.86232153546, 84052.61499295541, 89314.7615413481, 78869.48493841015, 92986.45704542307, 68754.06661142029, 94137.50017004219, 83493.01341831837, 81427.07206794163, 79849.01904229421, 87306.4708892041, 84855.50527935277, 74649.3791112465, 94838.2703460855, 79435.91797985308, 83375.91856623426, 94392.72785814697, 83877.66626341124, 101584.18634946889, 87854.61954296696, 82514.49947671033, 79373.2994998481, 82273.57671999789, 85275.90265551356, 77869.95808603596, 94344.46307247103, 93960.89178814342, 88831.49835679981, 89656.72806205117, 72522.68825206543, 92791.79822653298, 88866.07767370329, 93945.73851851607, 98382.97265781663, 97748.33188621946, 81919.33804925071, 100329.59924603156, 110147.44463492831, 87522.28777021304, 81214.21753057517, 77673.37999730346, 84452.01318664243, 92120.38342186093, 68395.48628884017, 97614.46413274082, 98216.63204172254, 82661.43752565893, 93524.42805702046, 76419.41839996177, 100259.83667736969, 102704.26083313092, 84665.37559417619, 88333.35234997189, 107910.18223598314, 90515.69030325607, 92483.28095692718, 111275.28911761797, 96133.88471216195, 91597.55408819848, 71868.09643528592, 102788.62183089704,93561.7377572199, 78774.46337599141, 86593.2854241748, 77777.28242358357, 89716.66235331555, 81830.79514857315, 101641.65596624544, 76498.85742258935, 82680.49625563639, 87393.07207160057, 88053.34288374336, 81165.55124251677, 78959.98455724977, 92025.15347785802, 90672.17241786422, 67227.45439560815, 104973.36570237689, 85493.93317336317, 112606.83788920585, 104272.0767472696, 88419.87349670698,88653.21314228323, 97449.43612650872, 93575.90070207434, 102012.3461945158, 92373.8951946437, 94049.29260547063, 75071.05460842806, 71419.98403385041, 92427.46340734094, 87787.46356928715, 101687.18019312975, 102103.6838480897, 90212.83895670755, 95418.47082634152, 91264.69684672063, 81466.37707725298, 82569.69877957915, 84942.11260679217, 95735.73118983538, 96817.0042186775, 101779.30626305097, 103941.95406878248, 100054.77152123098, 95254.84713276773, 114990.72442051506, 91461.49674776601, 97480.13912337917, 114952.4317469511, 110370.62293660956, 89150.9276307664, 93877.22617667887, 76576.27756764975, 85902.53020348599, 95391.13800070505, 75396.33400730598, 76081.46785875551, 84076.14864251351, 94755.84336034361, 84384.50665852298, 77634.23029722032, 86142.31944521733, 101882.71492531445, 78045.79822347857, 94984.58230131726, 86084.2150151209, 101265.10142909555, 89109.63585745632, 101021.95004804144, 85317.39244605554, 89878.66824446213, 96683.37353802304, 84913.9749966411, 83157.42498940187, 97566.03108507149, 92317.8586497662, 90054.53496076755, 90670.28064224827, 96677.98177786892, 106854.61886954939, 78850.48537452989, 94229.37087628624, 102303.1491857673, 86609.38472801197, 88722.55819529598, 93639.97578669232, 97986.95561083937, 78514.37794079584, 95658.35112563721, 96836.96400152134, 87080.00525953947, 79031.27274911858, 78006.77579912095, 76228.60401743345, 96007.99064580275, 101198.13501705295, 86455.21987393763, 93449.6102755272, 103092.5573046249, 94581.98673553736, 92000.06975756593, 89571.65007690695, 98970.78902020276, 89787.13915030853, 92110.5069455009, 91833.375214782, 101477.26596609644, 102405.67092218196, 105937.64672777904, 88552.71666734743, 87153.73624114523, 80752.62260799589, 87843.22785071905, 110914.55285695042, 81621.78272070092, 86000.94276773941, 89832.8100039692, 89842.2787253534, 86340.15351721314, 91181.50326380476, 96112.96647404922, 82975.56077766046, 83399.85083777981, 87762.5446017307, 89016.32224369729, 88704.73996243106, 91647.22390271083, 85366.14612084642, 94966.19293895995, 92729.55885109506, 81995.48187626588, 100118.88375723589, 84618.01247789199, 92944.61867920058, 94082.37565263279, 81727.07235040462, 89584.9284165566, 86504.62210371993, 85305.84130511429, 85136.56337144539, 85856.81355367148, 85550.02045800499, 82479.94664855735,92881.00505684892, 84815.27677667221, 109020.21387067082, 88041.38034258537, 78530.27913693167, 91854.33619148687, 96406.57510678738, 79635.52692048362, 102713.48249024845, 93535.37204501292, 73983.63011162468, 72260.37032283588, 94100.5730039865, 80830.40955765953, 95221.86819267977, 90899.50748930514, 77192.9635398032, 84185.39875076838, 83332.07498998719, 83463.95434067483, 83809.48580443527, 83133.44054618213, 94050.17324940873, 86983.373346899, 78970.80586944868, 100427.26479151155, 105736.53843640916, 86591.23153885768, 109634.37413699334, 90536.2671529599, 85388.35453807455, 95021.93071283207, 83152.14635755654, 87089.85414497429, 98245.3755659494, 93483.23062522878, 90389.68114338267, 96792.37521990885, 73425.71127135518, 102101.64821735272, 107508.87027645398, 82975.68470486924, 94482.66309863124, 76059.66301040737, 93672.73954510105, 99581.77319073412, 81157.25043980002, 84836.8157743474, 94137.73818408849, 104727.34331925934, 128519.99916994563, 84711.68277821495, 81627.18374611909, 87859.8683835569, 96846.8962380593, 85233.83406402376, 116491.47452718174, 91791.30625836138, 102742.63996150444, 90643.85268938553, 87927.69910310039, 79087.01649513764, 108285.15367026185,84866.23912306823, 100307.67661667711, 93105.03936190542, 78521.08294632398, 85529.46862574636, 83466.24845621861, 73873.06016741335, 84938.22768844102, 91237.73079834682, 78488.16207843581, 98439.7203665844, 110209.5844462004, 89732.56112484148, 99526.66381445195, 87418.6658567516, 73127.65261805101, 89667.93479033731, 96392.44455237949, 91562.92626978486, 120629.97587967082, 87994.94903310075, 95250.5126027803, 94128.36852281679, 91086.91315514172, 85059.65116754684, 74998.63836784061, 88333.03482152444, 95008.86561071099, 83941.70803392082, 78234.44963193452, 87326.73989856383, 79413.43308863316, 104488.55074072698, 81183.4552045728, 84233.62685690339, 97651.81565304688, 87620.69830686158, 102636.91608681357, 88685.46024549165, 90087.15431293742, 86667.08672350581, 97622.35226623972, 85939.77776038925, 92838.47479170744, 79534.92003183403, 82072.00757364438, 106106.33837596608, 96814.5207064813, 106768.72062037056, 93005.90047779535, 76062.01261440889, 107379.42465516992, 101201.5437845749, 82560.17253430873, 85901.04950142487, 86380.72463788735, 92109.15894327345, 78613.87042508082, 82153.08360219997, 80972.53987783549, 96209.01309932524, 101039.3651585339, 91331.58895280169, 85746.82026176165, 89885.13844505358, 90515.1214789796, 88685.89271010018, 88500.72484601506, 97692.83672294246, 92207.7291582652, 84842.06217137942, 96557.87058103827, 71024.9771311738, 81358.7142999372, 84261.75971146242, 95134.30511635018, 85398.98547390188, 87096.88303641403, 94529.69285389729, 82250.46395035766, 91147.68313241651, 83771.41699196366, 87671.12321800465, 106781.05647208683, 85972.1891771462, 101364.93891018447, 75954.30763035605, 86885.83626951643, 90678.65146983715, 91532.1553790939, 96899.75667208075, 88076.32721747819, 95545.8107698382, 102739.51906271443, 95268.88734050261, 75692.47773650436, 79879.28832949708, 73062.85583810936, 89269.48899073648, 92299.7310850141, 80467.84134921373, 113643.29134514916, 76330.02297320712, 83814.95743417321, 97650.83880289119, 100456.67333058163, 95268.21129705006, 82728.39231625867, 77114.28373937633, 94189.45721860982, 100463.51338990778, 80657.17000308206, 73978.74012127772, 94378.73502417098, 92404.03338759638, 74239.00871483186, 94789.20208035156, 101859.87986527082, 89743.62777273032, 91513.05156410144, 84539.88818153532, 97360.7704064734, 82465.20954918538, 94197.56633052666, 98633.90570200498, 84542.78309962832, 92709.93270352867, 87481.83265225682, 79955.47558099104, 89709.48555939134, 80840.5873124432, 94922.04825935197, 83079.69235813926, 82115.52191735468, 111892.73872187475, 80754.08643383683, 83318.14200720169, 99063.5581269725, 86293.57261805522,80024.60053098956, 81658.17072783748, 87391.27115759643]
firstyear = 2006
lastyear = 2008
num_stocks = 10
trials = 550
print min(results)
print max(results)
print median(results)
print mean(results)
spfirst = 1248.29
splast = 903.25
print 'S&P 500 Return: %.2f%%' % (((splast - spfirst) / spfirst) * 100)
print 'Average Return: %.2f%%' % (((mean(results) - 100000) / 100000) * 100)
print 'Max Return: %.2f%%' % (((max(results) - 100000) / 100000) * 100)
print 'Min Return: %.2f%%' % (((min(results) - 100000) / 100000) * 100)
plt.hist(results, bins=20)
plt.xlabel('Final Portfolio Value [$]', fontsize=18)
plt.ylabel('Count of Portfolios', fontsize=18)
plt.title('TRIX Crossover, 2006-2008', fontsize=24)
plt.axvline(((splast) / spfirst) * 100000)
plt.show()
# Run 8 TRIX 2014-2015 1 stock
results =[107852.87000000005, 103119.06000064076, 101379.68870335478, 99311.43326495116,100086.40928030795, 108552.92800999999, 103972.52970405696, 98999.26967850531, 102064.32082984562, 100324.88911710269, 106177.07544846594, 100234.85820748255, 111216.5330461214, 102920.13598993685, 96446.95000000001, 105800.11593423667, 103023.35870534607, 104123.69359658944, 100664.43410366122, 103404.5302162719, 103345.09594425632, 103476.79520708136, 112967.11, 102791.27466757828, 106057.09065805121, 100427.21135299752, 96446.95000000001, 99599.04392446367, 100971.45556814065, 100805.31000000003, 101852.0649607908, 106052.90389000002, 107108.32785, 103646.09590296174, 104627.5014024692, 103632.56377821077, 111803.28, 96446.95000000001, 99377.35698956443, 99356.22663631487, 100141.28, 102304.05884321063, 101420.46358646758, 100858.70142442067, 106609.06791448532, 101506.72817226544, 99757.9661047949, 102298.49365068863, 100952.90278043969, 100314.09854999998, 100400.39399536447, 101010.91103573311, 102426.81458453168, 99599.04392446367, 100648.68528667517, 99428.84046989771, 101292.41000000003, 103367.42975217979, 108572.96999999999, 102097.43999999997, 101177.55734521365, 99134.30354100009, 101089.71254759554, 102979.78637141096, 101320.02748203266, 100033.05986580043, 99840.76989231749, 100591.00635276799, 101216.85582045309, 101824.82813635816, 100997.92214610953, 99806.28995600078, 107958.25153999994, 101395.917197053, 103536.44674182027, 96329.16385256386, 105319.24000000002, 101314.50290650064, 99377.35698956443, 100255.33553039574, 105048.96987037064, 99377.35698956443, 99931.71338910362, 105970.73000000001, 98566.57000000002, 103268.76096812925, 100953.7060175974, 102663.69854750167, 100141.28, 100433.7531471006, 101365.47839186796, 99314.80238275159, 108572.96999999999, 100905.71000000008, 100781.77380854792, 105791.71697011839, 107590.3231493351, 105172.81999999999, 104969.33370065186, 102891.42032000983, 100868.97166781516, 105361.87857335084, 102306.16678926299, 100264.05544185531, 100754.71149230367, 102164.39834055377, 102610.03974405747, 90305.22434061626, 100832.8143109774, 105076.5243222513, 102695.64930026911, 102804.67298650877, 99077.96549923677, 105048.96987037064, 101874.11233068346, 102193.48434325124, 100324.88911710269, 103404.5302162719, 103268.76096812925, 99536.53621691215, 101237.54199833269, 99980.97043731232, 102411.94975999999, 97778.49132027668, 101395.917197053, 98857.56771997639, 103755.54170350853, 101693.12572074342, 103144.66389175007, 99666.88081660139, 100431.37763465173, 100985.10723066701, 102979.78637141096, 103554.37230878971, 102315.49160770167, 101984.15320305302, 99077.96549923677, 100005.10256366857, 106609.06791448532, 99086.64526490252, 101989.83265170787, 101737.15129846778, 102270.39465439071, 99840.76989231749, 98492.76096093998, 101177.55734521365, 97253.41448068616, 101842.95423951918, 100371.8856053623, 101042.44993096418, 99278.44176322491, 104793.60628332922, 103995.35131174963, 96342.71090799337, 100289.77827566705, 100905.71000000008, 100324.88911710269, 103476.79520708136, 108892.76, 100624.81339416657, 98409.67793601417, 100005.10256366857, 100390.57540328863, 102589.12671170649, 101252.86864883189, 100317.92629749155, 105048.96987037064, 102044.37721395791, 103521.35476837086, 100953.7060175974, 98133.88283293613, 101180.21310290374, 103023.35870534607, 106609.06791448532, 104309.52000000002, 101420.46358646758, 107465.57839999997, 102464.86456373229, 100340.860973365, 100177.96565137431, 104961.05396707875, 101673.00219312566, 101874.11233068346, 102236.73377461117, 99850.25172071287, 100861.89661207932, 102067.83841809045, 95863.2968570242, 102324.92237372437, 103009.76852252566, 102791.27466757828, 100894.48000000001, 99152.20999999999, 104199.74999999997, 98354.81344177942, 100953.7060175974, 99948.00421140206, 97883.12223996427, 101253.84686959971, 99536.53621691215, 100760.64901780133, 101094.97950845682, 101296.60982994994, 100914.42142429003, 103554.37230878971, 93618.48500000002, 100724.25000000001, 100661.07547131371, 107590.3231493351, 101236.65937348217, 105076.5243222513, 98825.2138408756, 102891.42032000983, 97432.65241999997,102900.40443278957, 100664.43410366122, 108235.56000000004, 105209.18043170733,104980.57999999996, 99278.44176322491, 104170.76407999995, 101584.2907321775, 99055.58702030116, 100033.05986580043, 103009.76852252566, 100059.20202335157, 101292.41000000003, 99599.04392446367, 101010.91103573311, 107465.57839999997, 103404.5302162719, 104406.7335021765, 101843.68772019971, 100431.37763465173, 99077.96549923677, 106025.86455623727, 100255.33553039574, 102514.32200289128, 99724.42915212072, 101395.917197053, 103641.55988797017, 101210.48162475675, 101237.54199833269, 105361.87857335084, 98683.5172310286, 99876.41348700564, 102844.9873322497, 101710.13982191379, 102957.08821483416, 99066.07212308924, 101236.65937348217, 105007.60908024997, 100133.46553097798, 100086.40928030795, 101829.5439748618, 100033.05986580043, 97886.04999999999, 101252.86864883189, 98825.2138408756, 99880.55184402477, 100324.88911710269, 100431.37763465173, 104123.69359658944,105076.5243222513, 105319.24000000002, 101216.85582045309, 100129.20272742149, 100997.92214610953, 101287.25517305607, 103827.15015333472, 99278.44176322491, 100431.37763465173, 99311.43326495116, 99757.9661047949, 100067.36012439118, 95745.58559364894, 103641.55988797017, 99994.85932965616, 98987.96457102598, 99635.18662660863, 102076.22735129473, 99368.66980593684, 102979.78637141096, 101089.71254759554, 101686.76066397219, 97432.65241999997, 101650.31073823196, 100177.96565137431, 101200.8031591363, 98987.96457102598, 101395.917197053, 101089.71254759554, 101094.97950845682, 101587.93883755978, 100504.51135537215, 101378.03, 103404.5302162719, 102844.9873322497, 99311.43326495116, 102695.64930026911, 102464.86456373229, 101801.60235665076, 99536.53621691215, 101007.51112998759, 96245.79525910268, 102637.61912374181, 103268.76096812925, 101710.13982191379, 99073.3674522479, 106308.71523612653, 100952.90278043969, 97475.76966541461, 98385.0595464441, 102472.27131597206, 96248.6634738557, 96507.21308148425, 99480.23210060135, 90305.22434061626, 101292.41000000003, 105931.34808643624, 100985.10723066701, 94337.95091288027, 107958.25153999994, 102632.96976264019, 98332.70999999996, 98241.17794385942, 101540.44973732192, 102979.78637141096, 99948.00421140206, 108572.96999999999, 98999.26967850531, 100783.03067201166, 100228.16708811614, 99077.96549923677, 101843.68772019971, 100905.71000000008, 99386.17, 101590.8526602792, 101613.11703371997, 102464.86456373229, 100781.77380854792, 103987.5523684127, 102127.57913726948, 104735.23528996533, 101219.70492709501, 102528.69523209415, 97649.56549720002, 100504.51135537215, 98492.76096093998, 101296.60982994994, 105800.11593423667, 95863.2968570242, 104961.05396707875, 107108.32785, 97778.49132027668, 99377.35698956443, 101010.91103573311, 102298.49365068863, 100597.32001387134, 100781.77380854792, 98241.17794385942, 105076.5243222513, 112402.02147468945, 102268.58364787207, 95291.80016915807, 102077.52000000002, 99536.53621691215, 101699.37066141018, 101511.4994088253, 99152.20999999999, 101216.85582045309, 99850.25172071287, 100790.84581240846, 99278.44176322491, 99152.20999999999, 101641.29076796613, 103796.7728304059, 100400.39399536447, 96342.71090799337,102844.9873322497, 107958.25153999994, 104793.60628332922, 104793.60628332922, 101650.00368041256, 102091.29997000002, 99850.25172071287, 100952.90278043969, 101253.84686959971, 102356.84738362035, 101420.46358646758, 99481.26292100963, 100892.24128959714, 100413.24577201987, 99977.90056967255, 106057.09065805121, 106795.81999999998, 98798.97581671449, 105209.13000000005, 100805.31000000003, 111216.5330461214, 98837.30684448298, 103367.42975217979, 102589.12671170649, 100861.89661207932, 100772.86688778242, 100926.43344012638, 101216.85582045309, 100914.42142429003, 103476.79520708136, 100905.71000000008, 101633.34872790644, 98354.81344177942, 105970.73000000001, 100234.85820748255, 103423.24046705774, 98409.67793601417, 101040.82823238688, 102725.91209325708, 106508.6236512753, 96644.25999999995, 102920.13598993685, 102957.08821483416, 104532.5754405429, 102583.62109166113, 102688.66602580817, 101843.68772019971, 101094.97950845682, 101673.00219312566, 101216.85582045309, 104281.94301294065, 102688.66602580817, 100832.45929736733, 105087.39280946733, 102610.03974405747, 101605.57692407502, 102298.49365068863, 98798.97581671449, 99066.07212308924, 99403.3512018712, 102610.03974405747, 98133.88283293613, 97100.64143635458, 101296.60982994994, 98492.76096093998, 100584.64376625833, 104177.99274186215, 100952.90278043969, 102844.9873322497,103300.99680957933, 104177.99274186215, 103423.24046705774, 99214.86009364751, 100158.88129148485, 102356.84738362035, 101833.0197546677, 102749.30425985812, 101511.4994088253, 100597.32001387134, 101842.95423951918, 100314.09854999998, 107852.87000000005, 105791.71697011839, 102900.40443278957, 96604.06478132262, 101686.76066397219, 99344.6894381009, 102804.67298650877, 103367.42975217979, 102889.500026038, 103341.39169034734, 103693.32816954664, 96604.06478132262, 103924.06988517338, 101007.51112998759, 102920.13598993685, 102369.37955764927, 99876.41348700564, 100953.7060175974, 100772.86688778242, 105725.76999999995, 102044.37721395791, 103521.35476837086, 102756.22684815996, 101287.25517305607, 101010.91103573311, 102589.12671170649, 100664.43410366122, 107478.07401829604, 104281.94301294065, 99806.28995600078, 100314.09854999998, 100086.40928030795, 102825.76978017653, 101279.77590484676, 102188.3135341634, 100894.48000000001, 105066.61119231343, 104281.94301294065, 101236.65937348217, 94337.95091288027, 104852.72393261558, 100671.06723811848, 105791.71697011839, 100059.20202335157, 106573.54712675772, 106904.49770332256, 100264.05544185531, 99806.28995600078, 104852.72393261558, 103017.50378646392, 100926.43344012638, 102315.49160770167, 106831.77351035885, 102838.88979999998, 100832.45929736733, 102091.29997000002, 105209.18043170733, 101641.29076796613, 102756.22684815996, 97100.64143635458, 105725.76999999995, 101540.44973732192, 102583.62109166113, 101801.60235665076, 101492.61551569767, 103341.39169034734, 99876.41348700564, 101279.77590484676, 98354.81344177942, 100952.90278043969, 100413.24577201987, 100076.52228845903, 104177.99274186215, 102688.66602580817, 101102.8238178214, 103554.37230878971, 103521.35476837086, 101639.8879, 98857.56771997639, 103119.30432732998, 105076.5243222513, 105319.24000000002, 104929.25653101402, 99971.23999999996, 100293.98951597234, 100289.77827566705, 100892.24128959714, 102632.96976264019, 107478.07401829604, 102044.37721395791]
firstyear = 2014
lastyear = 2015
num_stocks = 1
trials = 550
print min(results)
print max(results)
print median(results)
print mean(results)
spfirst = 1831.98
splast = 2114.76
print 'S&P 500 Return: %.2f%%' % (((splast - spfirst) / spfirst) * 100)
print 'Average Return: %.2f%%' % (((mean(results) - 100000) / 100000) * 100)
print 'Max Return: %.2f%%' % (((max(results) - 100000) / 100000) * 100)
print 'Min Return: %.2f%%' % (((min(results) - 100000) / 100000) * 100)
plt.hist(results, bins=20)
plt.xlabel('Final Portfolio Value [$]', fontsize=18)
plt.ylabel('Count of Portfolios', fontsize=18)
plt.title('TRIX Crossover, 2014-2015', fontsize=24)
plt.axvline(((splast) / spfirst) * 100000)
plt.show()
# Run 9 EMA 2014-2015 1 stock
results = [102247.97369588242, 100193.10481037063, 100827.52058972043, 102545.77896271639, 102361.02675645241, 96359.29354739671, 99374.09315334253, 98091.43000000002, 105224.11317999999, 100991.28999999996, 99576.17005019836, 99189.9300712298, 106925.54, 101993.52439461373, 103471.21859234356, 100122.57251570729, 101993.52439461373, 97137.2490436899, 97711.6382851354, 101091.42562563805, 102048.45563547868, 102949.27433015965, 104615.08577137742, 100165.56300261259, 93790.6550188111,101856.30207767316, 100957.24681769041, 100885.15999999997, 98640.3940576013, 100986.73381189711, 98990.89530370937, 101133.2225845333, 102048.45563547868, 101161.66000000003, 103214.69808127097, 98037.45000000004, 99397.06816990537, 97613.10505413939, 99400.3367578922, 100093.9148449823, 97231.14368079645, 99132.31791204479, 98469.91142000005, 99581.49075798257, 100134.04188054349, 100065.79415342236, 100527.45099991208, 102960.05999999998, 100817.17670861246, 101480.38346517476, 100655.52821171177, 100134.04188054349, 101930.34364378851, 106925.54, 102833.62941463118, 104155.358297581, 100319.63437547971, 104379.63000000002, 97809.22461004026, 94720.71005000008, 97255.65938999997, 97223.98084044033, 97924.77990936418, 102090.36521000002, 106190.75884066305, 100648.09745116276, 103706.24340945891, 99751.04499237004, 102881.53000000003, 98912.09724763819, 101632.92144240474, 102400.99584281577, 97847.42351728729, 104089.40546060898, 88089.9527041959, 100580.44252587456, 101911.07874757602, 104569.03313249127, 100507.82508775555, 102767.95, 96797.61894561027, 98091.43000000002, 101704.1623087052, 101596.83057608662, 98943.25071728975, 100441.91837643844, 96645.80847979183, 105825.97848661523, 95980.93371013008, 99857.74930024322, 98723.02269004626, 99258.60898298658, 101137.11517637345, 95770.56027892951, 99632.9590716339, 96650.61094385166, 102949.79747046644, 99428.9525917841, 97005.05029440453, 96738.7647272908, 100698.7294198781, 101221.72387985938, 100118.70912808599, 97872.1133727383, 95487.41999999998, 106081.93342295733, 100698.68665570457, 102727.44538867546, 104754.32954028445, 101987.96360796716, 100991.28999999996, 97579.41896628891, 102628.9165648177, 96797.61894561027, 100512.91470158906, 102554.93612822235, 102651.78494413302, 92646.01768183787, 99335.78480788671, 98369.13631381064, 102078.21360440174, 98703.90218247997, 102727.44538867546, 107692.62996000002, 112454.95000000003, 102595.10582043852, 102833.62941463118, 98204.58289871471, 106081.93342295733, 100589.31554918151, 101496.01546539084, 105427.61273752834, 106690.6325603219, 106352.15305090317, 97847.42351728729, 97053.5374738039, 99721.98668197871, 99515.13305000003, 97936.81901893098, 100026.66456583951, 102361.02675645241, 102303.32466045298, 104130.02739550182, 92209.75221219359, 99709.53444941304, 100220.11091790773, 98324.55213662962, 100698.68665570457, 100314.90912431685, 99740.00059646579, 100648.09745116276, 95973.21062032919, 101479.40682237563, 99522.89685697365, 103755.60640773518, 101431.88581182301, 100289.4685189506, 98054.85192053598, 99299.84118344955, 103194.24457670347, 99773.71072204583, 99935.5765345359, 99773.71072204583, 104468.39076852048, 98720.45208030862, 99249.93999999997, 98091.43000000002, 92646.01768183787, 99335.78480788671, 97047.93018812027,101464.50009194532, 105289.30418267562, 99547.4792117397, 106190.75884066305, 102651.78494413302, 100025.27909907707, 103020.42, 104126.10561923153, 97667.44822173128, 98704.69814462085, 106881.72830972217, 102949.79747046644, 98046.2254780243, 103926.78880632593, 98703.90218247997, 102367.7400495618, 92646.01768183787, 97711.6382851354, 97231.14368079645, 99335.78480788671, 100527.45099991208, 102803.3500950182, 102949.79747046644, 101264.28671243237, 100518.74922621163, 98652.53000000003, 103599.8862281089, 103231.32, 100889.83476024559, 104743.07654059998, 104497.06123713337, 102671.66393544473, 100276.63902134035, 102671.66393544473, 102805.68599771787, 114659.93689999997, 105682.71181124066, 98093.53758739817, 100126.79960898905, 94553.49302457667, 102247.97369588242, 105825.97848661523, 99397.06816990537, 98912.09724763819, 102051.72134542378, 100477.04230489513, 99335.78480788671, 100827.52058972043, 98443.10162432694, 112454.95000000003,100273.61862862052, 100648.09745116276, 106704.96395148098, 96733.64288002798, 102949.79747046644, 104468.39076852048, 100655.52821171177, 100126.79960898905, 101431.88581182301, 101234.76937736501, 101302.40577400154, 98973.52250196956, 96677.92009927312, 104089.40546060898, 105574.51999999997, 99013.39453883267, 99374.09315334253, 99726.7881663972, 97495.94670834432, 100126.79960898905, 99428.9525917841, 99951.78569019589, 97351.70000000001, 103817.6851945234, 102650.34684703735, 99726.7881663972, 101911.07874757602, 104155.358297581, 98980.36395746568, 110124.17374754595, 104126.10561923153, 99837.72334124676, 102503.79757987426, 102090.36521000002, 104477.37907560696, 112454.95000000003, 104379.63000000002, 94148.72000000007, 99515.13305000003, 102971.55999999998, 103265.04000000001, 97495.94670834432, 101510.97771534028, 103113.54691076014, 100062.51773548556, 101205.85506558612, 99478.45360276548, 101911.07874757602, 104058.08608934873, 103817.6851945234, 100507.82508775555, 101987.96360796716, 105445.05078829461, 97098.56294478312, 103129.89000000001, 106081.93342295733, 100527.45099991208, 102651.78494413302, 101264.28671243237, 98611.65569298396, 104073.71941561096, 109254.74819000004, 98316.67593966244, 104122.5570741224, 99346.24670659093, 96006.93869433906, 106384.37872291091, 103020.42, 98271.59323601876, 102960.05999999998,96531.03000000001, 101496.01546539084, 100319.63437547971, 100885.15999999997, 103393.91554526398, 102229.31, 96236.94023000168, 99568.06, 102651.78494413302, 101821.3755397499, 102303.91856488005, 100187.11561760525, 99858.95885486556, 105825.97848661523, 99581.49075798257, 104535.71287503208, 96082.89769960308, 99632.9590716339, 106925.54, 101018.13962831926, 101815.45699677191, 97053.5374738039, 97186.0662776011, 103042.23280939787, 98662.18883718125, 107068.29783504632, 100477.04230489513, 98754.72739000001, 99218.00088000683, 113363.85451318581, 100126.79960898905, 103226.2714560474, 103923.65813784927, 103055.26212025086, 112454.95000000003, 103926.78880632593, 105682.71181124066, 99777.69392873786, 100441.91837643844, 101655.79720921975, 97809.22461004026, 98091.43000000002, 105825.97848661523, 106704.96395148098, 112454.95000000003, 94469.36409892337, 101496.01546539084, 97924.77990936418, 101880.4922439938, 99491.15819892962, 102303.03451886732, 97053.5374738039, 99132.31791204479, 103817.6851945234, 98912.09724763819, 100503.64341549696, 93861.03000000003, 106594.61124762183, 101041.36314271619, 98704.69814462085, 100164.37846953378, 101076.27051588453, 101357.71373914144, 101235.6668847365, 102833.62941463118, 96082.89769960308, 100817.17670861246,97613.10505413939, 102048.45563547868, 98594.77002411569, 100655.52821171177, 100118.70912808599, 99749.05995999996, 99481.43774098554, 102403.92170396457, 102638.68500885862, 99335.78480788671, 101084.94999999998, 106574.02277402242, 96006.93869433906, 106384.37872291091, 96530.3401263532, 105909.03000000006, 102229.31, 105786.2020266232, 102535.13743201533, 95980.93371013008, 101837.56000000007, 101041.36314271619, 97711.6382851354, 98980.36395746568, 101038.86893565187, 103581.90740776373, 100655.52821171177, 99547.4792117397, 109695.11361447585, 104126.10561923153, 100165.56300261259, 100164.37846953378, 100503.64341549696, 101563.51119822827, 102048.45563547868, 100580.44252587456, 98369.13631381064, 101676.31773985179, 95143.5094462337, 104105.03968266716, 95888.13806126945, 99299.84118344955, 99951.78569019589, 100314.90912431685, 110268.2018962754, 100957.24681769041, 99749.05995999996, 105224.11317999999, 104650.40828947196, 97232.10765143472, 99372.29225, 106574.02277402242, 97872.1133727383, 99726.7881663972, 99951.78569019589, 102303.91856488005, 101595.9807391603, 101205.85506558612, 104258.28231619917, 103817.6851945234, 102643.36443040577, 101122.59999999996, 97513.86542468774, 101595.9807391603, 102535.13743201533, 102643.36443040577, 100126.79960898905, 97917.7588880821, 102803.3500950182, 97051.93818076418, 102833.62941463118, 103305.59445926204, 103286.3249945536, 106190.75884066305, 100383.09999999995, 97231.14368079645, 101867.94554171023, 100319.63437547971, 106268.26550456244, 99836.2460927732, 100698.68665570457, 100360.47999999997, 94720.71005000008, 102400.99584281577, 101286.10999999999, 101595.9807391603, 104058.08608934873, 100442.81891609146, 103879.58967828329, 101475.87689963194, 97766.03315976175,102303.32466045298, 103217.20999999996, 103755.60640773518, 103265.04000000001,100025.27909907707, 99935.5765345359, 101579.8804006409, 99346.24670659093, 102229.31, 101480.38346517476, 97053.5374738039, 101302.40577400154, 100482.30746900509, 114659.93689999997, 99857.74930024322, 99346.24670659093, 99428.9525917841, 99315.6025280954, 99481.43774098554, 99763.34816857145, 100280.08694675282, 101297.02415594648, 93202.30927440694, 102508.59731155168, 96481.12797274772, 101523.87587304905, 102159.74343020063, 98818.04997894484, 100193.10481037063, 102223.76072686314, 114659.93689999997, 96821.58651967742, 97137.2490436899, 102303.32466045298, 97137.2490436899, 102535.13743201533, 100752.68097404165, 100220.11091790773, 118290.29000000001, 101904.15098319078, 98037.45000000004, 101880.4922439938, 99304.98, 99051.73060205657, 100889.83476024559, 100030.64001633765, 96892.50999999995, 100744.81473752286, 101597.72921685444, 103723.163509384, 104615.08577137742, 103598.95565174965, 102851.87784857785, 102554.93612822235, 97005.05029440453, 101676.31773985179, 100725.34772513816, 101084.94999999998, 95770.56027892951, 100931.77869206878, 105574.51999999997, 100725.34772513816, 99568.06, 97264.60679301096, 97517.9206819662, 99788.16960712723, 106081.93342295733, 103686.39392297673, 101343.55220947019, 104258.28231619917, 100752.68097404165, 105445.05078829461, 98787.19560991347, 101153.64597836576, 92209.75221219359, 98723.02269004626, 101205.85506558612, 97711.6382851354, 96289.90261499849, 101867.94554171023, 106986.71999999999, 101765.88166661072, 97911.81691821691, 106268.26550456244, 99632.9590716339, 98594.77002411569, 100589.31554918151, 98316.67593966244, 100772.83388577099, 101571.1, 101632.92144240474, 102767.95, 98420.6783899581, 99335.78480788671, 104520.06017106792, 100151.66592248506, 100365.25879689693, 101479.40682237563, 96733.64288002798, 102395.42900000002, 101579.8804006409, 103598.95565174965]
firstyear = 2014
lastyear = 2015
num_stocks = 1
trials = 550
print min(results)
print max(results)
print median(results)
print mean(results)
spfirst = 1831.98
splast = 2114.76
print 'S&P 500 Return: %.2f%%' % (((splast - spfirst) / spfirst) * 100)
print 'Average Return: %.2f%%' % (((mean(results) - 100000) / 100000) * 100)
print 'Max Return: %.2f%%' % (((max(results) - 100000) / 100000) * 100)
print 'Min Return: %.2f%%' % (((min(results) - 100000) / 100000) * 100)
plt.hist(results, bins=20)
plt.xlabel('Final Portfolio Value [$]', fontsize=18)
plt.ylabel('Count of Portfolios', fontsize=18)
plt.title('EMA Differentiator, 2014-2015', fontsize=24)
plt.axvline(((splast) / spfirst) * 100000)
plt.show()
# Run 10 TRIX 2006-2008 1 stock
results = [97098.02112121407, 89894.75689075571, 109246.54190833974, 108973.9218586029, 103813.06835816338, 94306.68496757539, 106522.07617623228, 99761.41436288744, 103158.14909515942, 108546.37271271637, 108973.9218586029, 100609.52045570285, 99933.28612198932, 120664.19060957774, 96976.60631605079, 96976.60631605079, 106544.18605978641, 99154.78090326526, 111076.8561334576, 91947.29536776344, 91480.65004254966, 99673.43000000001, 106001.74499999997, 96704.84999999995, 106052.42697548741, 98135.74193674442, 113156.04288530999, 101771.60774319142, 105148.6249604591, 100382.76000000001, 95561.6352557061, 104133.34129227702, 94530.31064663522, 91947.29536776344, 103593.42836739433, 109339.76847552856, 103158.14909515942, 108537.56419051255, 97663.42961885752, 89483.62177238186, 94415.5013330445, 103563.51833401897, 100986.78391323303, 118241.51802268118, 103563.51833401897, 106743.78824040094, 99154.78090326526, 103035.15, 91083.60420706529, 105647.88479676037, 106251.49342921012, 99673.43000000001, 96245.73751690745, 99848.34513178469, 106745.6455338562, 96704.84999999995, 96045.98736385227, 106638.61899050069, 93174.56043407228, 106671.12384805763, 104551.29477877701, 86258.4487169965, 114537.909971225, 99130.8340412863, 92248.09167000008, 93454.04046502103, 98973.24119751448, 107580.06302696092, 110461.99386748299, 103035.15, 102059.24999999997, 112406.02999999996, 104728.12352640893, 109246.54190833974, 95803.9353480952, 89483.62177238186, 106251.49342921012, 103848.86952852082, 103202.96153551896, 106451.0120749812, 92856.24000000005, 110360.97629523446, 96588.11999999997, 106502.4767782966, 96045.98736385227, 106217.63042821249, 96093.26674336904, 110727.2108893253, 96340.07117166472, 96871.7833157259, 119317.58956134095, 104326.9862422312, 102835.85823130721, 102675.38500000004, 103837.17103377561, 120667.17316599727, 92571.70676610246, 106671.12384805763, 94415.5013330445, 98716.40014636995, 96045.98736385227, 101032.92595219592, 89084.40999999999, 101231.23512475913, 103570.28172988928, 92248.09167000008, 93212.96324415201, 101309.2382168992, 97098.02112121407, 96245.73751690745, 95915.51999999996, 102169.52371579297, 91681.17650781182, 102276.47249774144, 104359.51058135409, 100918.35754141018, 94582.47430664042, 101203.35180893142, 98986.65018303553, 100198.72296520215, 104728.12352640893, 102044.41452267542, 93278.80879248102, 98970.3672742577, 98815.20811291844, 103062.99431242583, 97717.72293045337, 91230.70316199661, 96871.7833157259, 97955.91088149144, 108000.53811067919, 97332.88363639798, 106643.25193339167, 97332.88363639798, 100691.7674804386, 98178.9468311356, 96450.60947524032, 97462.96128141349, 92478.57064388026, 106210.62266239914, 116487.30570467486, 97273.12829264766, 96339.17721651308, 106514.05755969285, 97914.55223549852, 101956.02000000009, 93531.54525658167, 103337.57279416526, 105673.18309565038, 101762.72811889213, 96526.5201414752, 102069.62769378413, 103447.49821401126, 93391.74894962377, 98920.84876217568, 103848.86952852082, 92856.24000000005, 95131.28, 106052.42697548741, 108859.96159341792, 102122.79077789288, 99761.41436288744, 96704.84999999995, 98234.91908706649, 101186.52709758788, 106768.99555589988, 115824.28769840139, 92478.57064388026, 93490.25917496785, 119491.9458115252, 98481.29500000003, 83350.2450404195, 100299.80075046125, 100766.98730310664, 102303.68672504599, 100714.99500000004, 102080.5953850525, 92248.09167000008, 104216.45000000001, 102942.78334944235, 98349.70036161115, 105617.90345368623, 102732.47030429692, 102069.62769378413, 102955.97296221259, 108650.27523945193, 104323.40282469626, 100148.65173811575, 101834.48500000003, 84586.70881881744, 109747.22377293462, 96450.60947524032, 89894.75689075571, 109096.1530739274, 98716.40014636995, 99416.65541897962, 99188.58592469897, 98220.07746410008, 108000.53811067919, 102276.47249774144, 118752.06089073679, 108193.9328079386, 119317.58956134095, 102732.47030429692, 109846.85, 96093.26674336904, 100148.65173811575, 98986.65018303553, 103936.72506484011, 107938.74068579568, 101410.5266392544, 100387.29444105065, 95842.29847705053, 114074.36620017921, 89462.463281961, 103936.72506484011, 100762.89220051825, 107619.74055337443, 98923.96246975963, 94530.31064663522, 92197.86769137176, 99158.77599486755, 100143.03823308353, 100179.45153507893, 103295.64411024781, 101654.56780387792, 96339.17721651308, 101371.48610999993, 100782.30043684965, 104551.29477877701, 95561.6352557061, 107209.73322558742, 106499.05439049838, 93490.25917496785, 99933.28612198932, 94135.92225389375, 103837.17103377561, 99416.65541897962, 97239.31279816173, 87860.60604048091, 84417.28022138824, 99019.59503441736, 103563.51833401897, 104323.40282469626, 102732.47030429692, 90496.54375083435, 96172.17999999996, 130899.37859167854, 105673.18309565038, 103963.72000000007, 104245.43933403266, 94217.55000000003, 102595.43820572578, 106514.05755969285, 98923.96246975963, 93508.87999999996, 108365.03999999998, 109173.35450378407, 103202.96153551896, 105392.1424999999, 105392.1424999999, 96588.11999999997, 95667.50743435195, 96245.73751690745, 106522.07617623228, 99154.78090326526, 100143.03823308353, 107525.45652668361, 114578.77499999998, 97717.72293045337, 105575.02031928918, 101956.8, 100762.89220051825, 108774.8903960728, 99416.73066184744, 98757.52783440577, 118315.48464861039, 100714.99500000004, 104133.34129227702, 97338.75458762751, 111076.8561334576, 89642.5188409301, 97717.72293045337, 93391.74894962377, 100000, 96577.61070750604, 100292.3421015018, 96771.72657141494, 101032.92595219592, 103837.17103377561, 97239.31279816173, 99218.8319490281, 101362.46274129213, 106544.18605978641, 103062.99431242583, 102303.68672504599, 114578.77499999998, 110739.24332004497, 109011.84443143834, 101410.5266392544, 105148.6249604591, 92932.4481564153, 83819.32366277052, 95481.11650856113, 102458.18992177882, 99293.12685000004, 99761.41436288744, 95556.79999999996, 91083.60420706529, 100149.15750000004, 102678.32417835885, 103563.51833401897, 98606.69116720892, 98806.17222460368, 95803.9353480952, 113156.04288530999, 109500.75506370596, 94306.68496757539, 112406.02999999996, 103295.64411024781, 93267.82811730533, 99372.1234049699, 101713.85005107439, 104987.1464650052, 113063.59999457432, 103837.17103377561, 114537.909971225, 111526.27744278754, 98716.40014636995, 104987.1464650052, 115092.32215331911, 101309.2382168992, 114074.36620017921, 110433.31209808782, 101762.72811889213, 107964.56822023902, 99160.56711800332, 99873.73357999703, 102220.81764203424, 132389.11725811276, 102894.77056505225, 94415.5013330445, 99016.05660540526, 96172.17999999996, 100457.00044246508, 93508.87999999996, 93391.74894962377, 103035.15, 120054.7656017521, 100000, 93490.25917496785, 106643.25193339167, 95910.02911535249, 104216.45000000001, 109757.60348047054, 101796.78000411992, 93531.54525658167, 103035.15, 102942.78334944235, 101349.86950094886, 96450.60947524032, 87860.60604048091, 110714.70707900508, 101762.72811889213, 92753.19761842344, 91480.65004254966, 93267.82811730533, 111802.05287207998, 100382.76000000001, 101235.04008243955, 118315.48464861039, 100557.20766999997, 103202.96153551896, 108193.9328079386, 106670.7026675964, 132389.11725811276, 111274.13, 116270.94154302374, 97098.02112121407, 98178.9468311356, 89462.463281961, 106876.75930981484, 96340.07117166472, 103848.86952852082, 102169.52371579297, 104464.84267058288, 104728.572108462, 101250.39000000001, 101771.60774319142, 99218.8319490281, 102109.85918006134, 105340.52384407609, 80719.64940505939, 98141.55511913289, 106643.25193339167, 103551.6999157467, 106522.07617623228, 99933.28612198932, 101186.52709758788, 100387.29444105065, 99848.34513178469, 102276.47249774144, 102044.41452267542, 107938.74068579568, 112406.02999999996, 101834.48500000003, 102069.62769378413, 105148.6249604591, 111526.27744278754, 100000, 102835.85823130721, 99416.65541897962, 113156.04288530999, 101957.78400712943, 83350.2450404195, 104359.51058135409, 95556.79999999996, 103570.28172988928, 106499.05439049838, 112202.01341960876, 112284.70444551544, 94530.31064663522, 98923.96246975963, 99188.58592469897, 103062.99431242583, 101654.56780387792, 102789.74756416919, 103202.96153551896, 103763.51498411497, 99188.58592469897, 103316.61432884818, 103295.64411024781, 106080.20122826275, 101349.86950094886, 91083.60420706529, 96450.60947524032, 101362.46274129213, 99416.65541897962, 101032.92595219592, 99019.59503441736, 99761.41436288744, 96976.60631605079, 104464.84267058288, 104323.40282469626, 107209.73322558742, 99158.77599486755, 104807.14188480178, 92478.57064388026, 100232.23324134527, 96172.17999999996, 89182.34271527344, 99416.73066184744, 125256.87611374908, 120664.19060957774, 96245.73751690745, 101250.39000000001, 101296.8860556457, 102098.89791897152, 94530.31064663522, 84586.70881881744, 104379.39104003285, 108546.37271271637, 101020.32647252103, 106607.11078119467, 101638.760943892, 101956.02000000009, 106745.6455338562, 108859.96159341792, 120054.7656017521, 117683.39000000003, 103268.21794602882, 103551.6999157467, 97717.72293045337, 105617.90345368623, 106451.0120749812, 101937.42931342202, 95910.02911535249, 120054.7656017521, 96796.52717705302, 111366.28920023606, 106499.05439049838, 94582.47430664042, 112284.70444551544, 100382.76000000001, 102069.62769378413, 94135.92225389375, 96961.04729404923, 107525.45652668361, 103848.86952852082, 104379.39104003285, 106671.12384805763, 94415.5013330445, 100000, 101020.32647252103, 101638.760943892, 96810.53877525887, 96275.14485554447, 107525.45652668361, 103663.02000000005, 101203.35180893142, 102717.19560111822, 96871.7833157259, 112202.01341960876, 90496.54375083435, 106607.11078119467, 100691.7674804386, 105148.6249604591, 102775.41040608246, 98481.29500000003, 98606.69116720892, 104464.84267058288, 108973.9218586029, 101771.60774319142, 108214.03747425802, 108546.37271271637, 99218.8319490281, 108973.9218586029, 112174.52208405655, 98178.9468311356, 88122.69645760472, 104245.43933403266, 100405.37456791724, 97239.31279816173, 106573.42500807553, 95842.29847705053, 102649.38332569442, 94135.92225389375, 98489.92140643793, 96339.17721651308, 109542.48378415707, 97332.88363639798, 98741.56000000001, 106210.62266239914, 100557.20766999997, 97755.69173212457, 98741.56000000001, 106671.12384805763, 101796.78000411992, 106743.78824040094, 124428.71000000004, 111274.13, 118315.48464861039, 98074.87999999995, 100986.78391323303, 104255.99177328288, 92571.70676610246, 104323.40282469626, 87103.24000000005, 103476.35113070585, 108193.9328079386]
firstyear = 2014
lastyear = 2015
num_stocks = 1
trials = 550
print min(results)
print max(results)
print median(results)
print mean(results)
spfirst = 1248.29
splast = 903.25
print 'S&P 500 Return: %.2f%%' % (((splast - spfirst) / spfirst) * 100)
print 'Average Return: %.2f%%' % (((mean(results) - 100000) / 100000) * 100)
print 'Max Return: %.2f%%' % (((max(results) - 100000) / 100000) * 100)
print 'Min Return: %.2f%%' % (((min(results) - 100000) / 100000) * 100)
plt.hist(results, bins=20)
plt.xlabel('Final Portfolio Value [$]', fontsize=18)
plt.ylabel('Count of Portfolios', fontsize=18)
plt.title('TRIX Crossover, 2006-2008', fontsize=24)
plt.axvline(((splast) / spfirst) * 100000)
plt.show()
# Run 10 EMA 2006-2008 1 stock
results = [87201.34345440815, 86419.27153737162, 98872.36503488511, 99575.53921255445, 95181.2236949169, 96841.61095520004, 101440.07750000003, 96079.12222531087, 98487.86839725071, 98861.6198629019, 96745.02005450882, 108882.73000000004, 89757.9135606464, 103503.60193693322, 96283.44411923547, 93193.91375273156, 103652.5820273106, 96841.61095520004, 88474.72984449737, 89709.95779135262, 94552.38620032194, 102353.72793858271, 100607.62557178711, 105021.14768999998, 96940.78300684899, 75227.67003667609, 97202.27500000001, 88413.93821622377, 86791.05802177591, 86232.88000000006, 100607.62557178711, 97721.8710194308, 96798.04646509589, 93332.47201504374, 94350.28694953764, 102874.38344746543, 90274.35617361304, 89729.94388116292, 86584.34741980981, 93612.30857380344, 96912.11689767739, 94651.30361908657, 90784.05400809602, 89741.88416147583, 98952.68332026606, 97145.8888806498, 98861.6198629019, 99056.00365032593, 97698.75998537998, 96071.44200173974, 101152.04139544688, 98734.59641286622, 98621.26035000004, 89719.80000000002, 99248.12999999995, 86419.27153737162, 92309.27006074955, 96135.31573314269, 97825.67905314984, 89757.9135606464, 91844.77384144993, 92687.47748237677, 99854.65856281934, 98946.20997798513, 93002.59060313892, 98674.41339519044, 98703.1316948936, 95222.17788872155, 103716.94999999997, 98843.47204996103, 99302.00652364378, 79293.00798763413, 96294.71145089682, 83106.75864657924, 102874.38344746543, 90079.72936608327, 96841.61095520004, 94620.48999999993, 109294.84921469675, 100269.09479990044, 98389.39217794314, 102825.78000000001, 93142.50777526747, 79293.00798763413, 83106.75864657924, 96135.31573314269, 95154.69758823943, 99948.19564434346, 94124.27988869339, 84846.96426192348, 100192.05500000007, 99650.86207349846, 92687.47748237677, 102460.69271925365, 85813.30333829395, 104563.0869507665, 91117.5854040173, 97173.76618602731, 92889.07101716482, 93842.21704640609, 96294.71145089682, 98577.8686268316, 99650.86207349846, 92513.05703105406, 94610.24669102847, 79876.39363430608, 96483.84840735591, 94380.28867099759, 100000, 100269.09479990044, 91708.8358927526, 92864.06304863984, 96912.11689767739, 98487.86839725071, 92601.38955097845, 97794.23813163872, 86042.49589971916, 96249.96489664898, 91850.7433706468, 99470.53998204318, 96674.7901308592, 97005.02507706797, 102113.37, 96279.30051730703, 104699.8261620164, 85947.08000000007, 105751.57872083691, 91921.23704880479, 97721.8710194308, 99595.42351304507, 98952.68332026606, 93411.89000000004, 106119.26962991629, 84158.91943170455, 92265.5432241736, 99302.00652364378, 100003.11, 100860.09204409494, 85947.08000000007, 85204.55626663323, 96148.31438236602, 94651.30361908657, 84158.91943170455, 94384.47705980955, 96722.30362575866, 93332.47201504374, 94380.28867099759, 93397.13446075626, 91082.16343011567, 99353.01813970017, 97225.25, 93397.13446075626, 89652.25433367016, 94678.11440613987, 97557.66192852505, 79430.84000000001, 106119.26962991629, 95169.61465206815, 95029.48247540613, 99214.61929037358, 94708.96949118927, 92513.05703105406, 95711.15771109857, 79246.54638426205, 95280.89310304845, 86791.05802177591, 97405.53947279984, 97587.48049376797, 99214.61929037358, 91579.3303000596, 75227.67003667609, 96148.31438236602, 96015.37466537433, 112023.52752152336, 99191.06106010028, 84024.1508444876, 96378.34733655328, 81238.92608584515, 98243.00641191762, 99191.06106010028, 97794.23813163872, 97005.02507706797, 88291.13604132875, 93002.59060313892, 95751.19612150812, 99435.67696552454, 108072.8237335093, 95337.82999999999, 100860.09204409494, 89757.9135606464, 92685.67505958027, 96722.30362575866, 99875.56817441905, 107404.72590517739, 90274.66425664717, 92647.62297379281, 94250.52395121203, 99164.0341805977, 92951.94461093392, 103652.5820273106, 88530.96194208252, 101146.57745371787, 79922.18414706641, 93916.18599119832, 99214.61929037358, 99595.42351304507, 93037.3986778433, 99855.12206808242, 96600.75433109544, 96356.3800368137, 86580.58000000003, 91383.01000000002, 92594.71789764201, 93075.99166885501, 102460.69271925365, 106192.69223384403, 92265.5432241736, 107132.1397944185, 95894.77404356645, 98737.7526872987, 105411.54913, 95391.77148325728, 109244.68, 96249.96489664898, 96966.70825029511, 93816.88318625814, 83297.00500000002, 95337.82999999999, 100894.64499999999, 104263.72369223047, 88976.28529923983, 85880.10046923299, 106192.69223384403, 98898.70580589747, 87132.56518797483, 105411.54913, 100861.85497027624, 96822.79999999996, 92647.62297379281, 96965.18092213308, 101698.54292761156, 92687.47748237677, 95337.82999999999, 114436.66999999998, 105411.54913, 92672.82862666347, 91708.8358927526, 89613.85601104113, 94620.48999999993, 92919.24248896263, 94720.19979827442, 84885.3273458193, 96912.11689767739, 96715.62746982933, 97493.62758728125, 99595.42351304507, 94720.19979827442, 98399.56095153111, 94678.11440613987, 94620.48999999993, 91525.61037023773, 84846.96426192348, 93652.40034370651, 95572.72468293634, 84960.41643434408, 93391.61167050683, 94634.36125767913, 94069.42928051227, 96600.75433109544, 97274.22343869809, 84846.96426192348, 91117.5854040173, 98872.36503488511, 93075.99166885501, 98133.31262767082, 99494.01156878589, 96483.84840735591, 97130.4687611342, 86704.0766929516, 95521.07516803048, 94570.35655102434, 83952.46570007637, 92595.72592147524, 94569.80000000005, 84158.91943170455, 96960.13254283929, 98872.36503488511, 84158.91943170455, 95192.99041513616, 97202.27500000001, 102351.46999999999, 90488.00793880601, 95280.89310304845, 99302.00652364378, 104813.17918724092, 90553.20604995196, 86419.27153737162, 101016.55406564231, 96356.3800368137, 93113.31609650701, 92864.06304863984, 95428.44339112214, 92516.2648763834, 98420.59505230152, 95432.83999999998, 98005.77886691799, 94384.47705980955, 93397.13446075626, 94650.32083241362, 84441.1526039717, 79876.39363430608, 98261.73884118344, 78681.42035571771, 90578.84, 95029.48247540613, 98848.0314406141, 105021.14768999998, 103716.94999999997, 102460.69271925365, 92513.05703105406, 99302.00652364378, 90983.23031223562, 131776.1618072192, 94720.19979827442, 97123.58494667867, 96405.88134536688, 95280.89310304845, 87201.34345440815, 88976.28529923983, 93411.89000000004, 87788.05797117906, 81915.48054569156, 100861.85497027624, 100091.67423215556, 86704.0766929516, 81238.92608584515, 78681.42035571771, 94039.59999999995, 94321.86645918922, 94971.23507083258, 105740.35819470987, 86913.6500828433, 96148.31438236602, 98399.56095153111, 107132.1397944185, 94678.11440613987, 90274.35617361304, 93547.6777848763, 91850.7433706468, 98267.90187416057, 97721.8710194308, 90079.72936608327, 91708.8358927526, 103016.86163207237, 98490.09729300281, 87101.8648254419, 84869.42881154145, 98349.43036321958, 102346.38273946304, 95030.02000000006, 95432.83999999998, 93916.18599119832, 95711.15771109857, 87132.56518797483, 69385.91999999987, 104857.86905777427, 85813.30333829395, 92595.72592147524, 99855.12206808242, 95132.24446428203, 117582.71027262254, 95521.07516803048, 82425.91955702254, 98952.68332026606, 95142.71750000003, 105145.62677000009, 85653.29317824921, 91473.3584210351, 97311.40000000007, 100607.62557178711, 84960.41643434408, 96599.07420192313, 89709.95779135262, 86704.0766929516, 92265.5432241736, 95641.48865604885, 85813.30333829395, 96148.31438236602, 93397.13446075626, 85231.52015998213, 95127.56113020083, 91383.01000000002, 93811.45418235513, 97225.25, 97005.02507706797, 94708.96949118927, 95711.15771109857, 95026.50549412634, 93299.8807871957, 99248.12999999995, 89741.88416147583, 99397.52412061048, 98490.09729300281, 95337.82999999999, 93912.84614438123, 94079.06165742259, 102406.68729629829, 91383.01000000002, 88670.90128807486, 96135.31573314269, 94678.11440613987, 100440.18073081732, 93916.18599119832, 104630.8733991624, 104813.17918724092, 84024.1508444876, 96135.31573314269, 90079.72936608327, 81915.48054569156, 99056.00365032593, 95280.89310304845, 83952.46570007637, 95108.28737960015, 91473.3584210351, 98926.39327957542, 92249.47277749226, 94553.1485753746, 99191.06106010028, 104699.8261620164, 97293.43877487132, 96798.04646509589, 89867.69, 72703.1458496314, 96600.75433109544, 90983.23031223562, 99595.42351304507, 93783.81240115112, 83503.22390626775, 91071.68163968102, 90274.66425664717, 107515.015, 100861.85497027624, 98942.6, 100487.59560038813, 97223.242896305, 97173.76618602731, 94380.28867099759, 101146.57745371787, 104857.86905777427, 95222.17788872155, 98420.59505230152, 88474.72984449737, 96168.01199215028, 95428.44339112214, 93842.21704640609, 96148.31438236602, 96071.44200173974, 93514.75089713008, 93332.47201504374, 109749.75061250528, 95127.56113020083, 104699.8261620164, 93783.81240115112, 94552.38620032194, 99895.66081022691, 101827.78599415685, 92672.82862666347, 87201.34345440815, 94553.1485753746, 102874.38344746543, 95337.82999999999, 96356.3800368137, 91708.8358927526, 98232.41636732096, 91543.93116804054, 98848.0314406141, 95108.30011078749, 100894.64499999999, 105751.57872083691, 97587.48049376797, 96798.04646509589, 95432.83999999998, 96283.0200042658, 97698.75998537998, 94720.19979827442, 71585.62361724641, 79246.54638426205, 104699.8261620164, 96148.31438236602, 94380.28867099759, 97293.43877487132, 97274.22343869809, 96071.44200173974, 93612.30857380344, 102825.78000000001, 79246.54638426205, 101016.55406564231, 101152.04139544688, 95894.77404356645, 92889.07101716482, 90170.69708736287, 93751.4803449015, 91708.8358927526, 88261.763901637, 92951.94461093392, 95428.44339112214, 99204.13272840739, 105021.14768999998, 94999.67608854503, 102406.68729629829, 98470.78302756601, 93585.28985187909, 91708.8358927526, 96294.71145089682, 103714.60614455954, 96864.38877263511, 99191.06106010028, 94006.51257319556, 91525.61037023773, 101440.07750000003, 93299.8807871957, 95154.69758823943, 96605.1330324782, 99595.42351304507, 98577.8686268316, 107515.015, 98356.80865053063, 89613.85601104113, 96148.31438236602, 100607.62557178711, 97557.66192852505, 84158.91943170455, 97698.75998537998, 94708.96949118927, 106829.64000000001, 92249.47277749226, 92142.70008450001, 94720.19979827442, 85187.91770140675, 96519.47098616378, 92143.86904354315, 92595.72592147524, 99204.13272840739, 96940.78300684899, 97311.40000000007, 91383.01000000002, 104427.64300165231, 100860.09204409494, 100487.59560038813, 101440.07750000003]
firstyear = 2006
lastyear = 2008
num_stocks = 1
trials = 550
print min(results)
print max(results)
print median(results)
print mean(results)
spfirst = 1248.29
splast = 903.25
print 'S&P 500 Return: %.2f%%' % (((splast - spfirst) / spfirst) * 100)
print 'Average Return: %.2f%%' % (((mean(results) - 100000) / 100000) * 100)
print 'Max Return: %.2f%%' % (((max(results) - 100000) / 100000) * 100)
print 'Min Return: %.2f%%' % (((min(results) - 100000) / 100000) * 100)
plt.hist(results, bins=20)
plt.xlabel('Final Portfolio Value [$]', fontsize=18)
plt.ylabel('Count of Portfolios', fontsize=18)
plt.title('EMA Differentiator, 2006-2008', fontsize=24)
plt.axvline(((splast) / spfirst) * 100000)
plt.show()