最終更新日:2020年11月16日

Nadeca

令和2年度上半期(4月1日〜9月30日)S&P500採用銘柄のトータルリターンをPythonで集計しみた。

Python S&P500

こんにちは。Nadecaです。

個別株で爆益の人を横目に羨ましさを隠せずにいられない今日この頃ですが、精神的安定を求めて私はインデックス投資を継続しています。

今年も残り僅か。 ここらでサクッと、令和2年度上半期(4月1日〜9月30日)S&P500採用銘柄のトータルリターンを集計して見る事にします。

今回もpythonを使ってデータを集計していきます。

まずは必要なライブラリをインポート。

import pandas as pd
import pandas_datareader.data as web
import matplotlib.pyplot as plt
from datetime import datetime

あらかじめ、S&P500採用銘柄が記されたcsvファイルを用意し、これをデータフレームに取り込みます。

df = pd.read_csv('data_file/csv_file/constituents.csv')
df.head()
    Symbol  Name    Sector
0   MMM 3M Company Industrials
1   AOS A.O. Smith Corp Industrials
2   ABT Abbott Laboratories Health Care
3   ABBV AbbVie Inc. Health Care
4   ABMD ABIOMED Inc Health Care

読み込んだデータフレームの内、ティッカーシンボルをリストに格納します。

symbol_df = df['Symbol']
symbol_list = []
for i in symbol_df:
    symbol_list.append(i)

一先ず、4月1日〜9月30日のデータを取得します。

start = datetime(2020, 4, 1)
end = datetime(2020, 9, 30)

このままだと、一部データが取得出来ないので、若干修正を加えます。

symbol_list_master = []
for item in symbol_list:
    item_mod = item.replace(".", "-")
    symbol_list_master.append(item_mod)

次に、4月1日〜9月30日から、最初と最後、つまり4月1日と9月30日の株価を取得し、騰落率を算出します。 これを、symbol_dictに格納します。

symbol_dict = {}
for p in symbol_list_master:
    df = web.DataReader(p, 'yahoo', start, end)['Adj Close']
    first = df.head(1)
    last = df.tail(1)
    df_data = first.append(last).pct_change()
    symbol_dict[p]=df_data.iloc[1]

たったこれだけですが、S&P500採用銘柄のトータルリターンを集計出来ました。

ついでに、VOOのリターンも計算し、先ほどの辞書に入れておきましょう。

aapl = web.DataReader('VOO', 'yahoo', start, end)['Adj Close']
first = aapl.head(1)
last= aapl.tail(1)
df_data = first.append(last).pct_change()
symbol_dict['VOO'] = df_data.iloc[1]

この状態で辞書を出力すると以下のようになります。

print(symbol_dict)

'AOS': 0.41057999191424055,
'ABT': 0.3903505786648578,
'ABBV': 0.1810119098513301,
'ABMD': 0.9086524563853657,
'ACN': 0.39557388314070696,
'ATVI': 0.3699124370006883,
'ADBE': 0.5410696572564404,
'AAP': 0.6532613113283625,
'AMD': 0.8027704197232264,
'AES': 0.35763961060520755,
'AFL': 0.07830721455780276,
'A': 0.412342369877549,
'APD': 0.5075112403717392,
'AKAM': 0.20821951575650544,
'ALK': 0.28661756064507915,
'ALB': 0.5974143476024536,
'ARE': 0.1828395228149653,

これだけだと、分かりづらいので降順にソートしてみます。 ついでに番号も振ってみましょう。

symbol_dict2 = sorted(symbol_dict.items(), key=lambda x:x[1],reverse=True)
for k,v in enumerate(ratio_dict2):
    print(k,v)
print(symbol_dict2)

0 ('LB', 1.751729957722365)
1 ('GPS', 1.5114509420938433)
2 ('FCX', 1.3170370878996671)
3 ('APA', 1.2764335445500086)
4 ('DHI', 1.2383163790168092)
5 ('WHR', 1.1828767898054053)
6 ('LEN', 1.1485609314678373)
7 ('FDX', 1.0901347936384318)
8 ('PHM', 1.0863068514785574)
9 ('PYPL', 1.0579695339000845)
10 ('HBI', 1.0576576424390867)
11 ('NVDA', 1.054737952407815)
12 ('VIAC', 1.0158091866815795)
13 ('FBHS', 1.0136074122620657)
14 ('RCL', 1.012123314928238)
15 ('BBY', 0.9758478487752713)
16 ('LOW', 0.9461206528724184)
17 ('CTAS', 0.9214293204277928)
18 ('ABMD', 0.9086524563853657)
19 ('CMG', 0.9005347104794115)
20 ('HOLX', 0.8937323108350232)
21 ('ALGN', 0.8819200407860115)
22 ('APTV', 0.8619008363126939)
23 ('DRI', 0.8497979858298528)
24 ('AAPL', 0.8449067663908412)
25 ('MGM', 0.8436917670308559)
26 ('UPS', 0.8138549190397097)
27 ('TWTR', 0.8118892902138957)
28 ('WST', 0.8083636819789355)
29 ('AMD', 0.8027704197232264)
30 ('CARR', 0.7769497312430236)
31 ('HAL', 0.770648181981566)
32 ('QCOM', 0.7623945631894176)
33 ('CRM', 0.7455203138066822)
34 ('EBAY', 0.7446364002222934)
35 ('TGT', 0.7106222071149653)
36 ('EMN', 0.7080100201880015)
37 ('KMX', 0.7074122336196211)
38 ('TSCO', 0.7052696929348048)
39 ('MOS', 0.6997906746961269)
40 ('URI', 0.6958211604701872)
41 ('NOW', 0.6923721917953949)
42 ('WY', 0.6825958214775774)
43 ('VAR', 0.6754334099394077)
44 ('PWR', 0.6723593380432056)
45 ('PKI', 0.6697981495066139)
46 ('DOW', 0.6631101270126598)
47 ('SNPS', 0.6614644528487517)
48 ('SYF', 0.6605271449637053)
49 ('AAP', 0.6532613113283625)
50 ('DFS', 0.6522511156230424)
51 ('DD', 0.6458011599341442)
52 ('SWKS', 0.6399496396981994)
53 ('SWK', 0.6378973406896866)
54 ('EXPE', 0.6294651092144361)
55 ('IDXX', 0.6228119899157447)
56 ('DE', 0.6179178228067499)
57 ('AMZN', 0.6149652400253292)
58 ('CDNS', 0.6146274345121503)
59 ('BWA', 0.6047076565745835)
60 ('MAS', 0.6045149207175318)
61 ('GLW', 0.6036806566399013)
62 ('VTR', 0.6020383983114426)
63 ('QRVO', 0.6000247910385126)
64 ('ALB', 0.5974143476024536)
65 ('SIVB', 0.5926660855237542)
66 ('NVR', 0.5893130097428745)
67 ('PVH', 0.5844846003384987)
68 ('SEE', 0.5843382406071616)
69 ('CMI', 0.5830209101426902)
70 ('LEG', 0.5760578110087509)
71 ('PH', 0.5753106903235425)
72 ('NWSA', 0.5715118449969956)
73 ('FB', 0.5701438195730557)
74 ('TEL', 0.5694873999129926)
75 ('AVGO', 0.5665503589617076)
76 ('NWS', 0.5653596278783686)
77 ('NCLH', 0.5611314371167084)
78 ('CHRW', 0.5610946154538279)
79 ('DHR', 0.5587525576286589)
80 ('TMO', 0.5586546449334311)
81 ('PNR', 0.5543164839005637)
82 ('IPGP', 0.5412586425654913)
83 ('ADBE', 0.5410696572564404)
84 ('PAYC', 0.5410128026236567)
85 ('JCI', 0.5364029736705862)
86 ('CPRT', 0.5347345127570231)
87 ('ORLY', 0.5315728459333109)
88 ('DXCM', 0.530917026796468)
89 ('MCHP', 0.5271867046705139)
90 ('AMP', 0.5268602457473015)
91 ('NKE', 0.5244376991326385)
92 ('SHW', 0.5229095123830045)
93 ('APD', 0.5075112403717392)
94 ('CTSH', 0.505027292315039)
95 ('ROL', 0.50457237113367)
96 ('HD', 0.5041587505500096)
97 ('APH', 0.49309125847370194)
98 ('LH', 0.48959573685922964)
99 ('CE', 0.485606842747087)
100 ('TDG', 0.48386892624523137)
101 ('TT', 0.48281177107242157)
102 ('NSC', 0.48113403468042804)
103 ('ADSK', 0.47988459624815616)
104 ('SPGI', 0.47745430508804754)
105 ('ROK', 0.4766161471428738)
106 ('PPG', 0.47572688969934473)
107 ('BIO', 0.47039030568940077)
108 ('CHD', 0.4686156901107157)
109 ('ETFC', 0.4671811446585512)
110 ('LYB', 0.46305712528684495)
111 ('IQV', 0.46143152225871953)
112 ('FAST', 0.46094669158086776)
113 ('IR', 0.46062625214940667)
114 ('FITB', 0.4566549236891242)
115 ('DISH', 0.45222616403370175)
116 ('MKTX', 0.4515104115929367)
117 ('TXN', 0.4499797472427809)
118 ('GWW', 0.4494850550885052)
119 ('MS', 0.4445646582804026)
120 ('WMB', 0.44431689888199344)
121 ('DGX', 0.4435782246635307)
122 ('GPC', 0.43756263489262515)
123 ('COF', 0.4369246472213435)
124 ('ISRG', 0.43280626455556503)
125 ('CHTR', 0.43095512445053186)
126 ('KSU', 0.42859881017957613)
127 ('DVN', 0.4285233494011438)
128 ('MNST', 0.42552433951186375)
129 ('GM', 0.4239653115894373)
130 ('INTU', 0.42379869689493943)
131 ('NBL', 0.4215124836062265)
132 ('RHI', 0.4210134524161442)
133 ('NEM', 0.4126678818657943)
134 ('A', 0.412342369877549)
135 ('MXIM', 0.41200072944045085)
136 ('UNP', 0.4107149886154995)
137 ('AOS', 0.41057999191424055)
138 ('ZTS', 0.4093779058521956)
139 ('ANSS', 0.40762252879097916)
140 ('PCAR', 0.4065816551106036)
141 ('BR', 0.40417041316273417)
142 ('MA', 0.4039793129863125)
143 ('EMR', 0.3992065293119389)
144 ('MTD', 0.3986039106483015)
145 ('ACN', 0.39557388314070696)
146 ('DG', 0.3938560374994029)
147 ('LRCX', 0.3931537136210619)
148 ('TTWO', 0.3929685555223219)
149 ('AZO', 0.3920094735797133)
150 ('AMCR', 0.3908998945910098)
151 ('ABT', 0.3903505786648578)
152 ('SYY', 0.38983305576958505)
153 ('CFG', 0.3895466597159578)
154 ('LIN', 0.3881664591307543)
155 ('HCA', 0.38764612320402203)
156 ('AME', 0.3853862040233178)
157 ('MKC', 0.38507225694932967)
158 ('FTV', 0.38375054462768654)
159 ('ODFL', 0.38058915269536175)
160 ('F', 0.37888197776655397)
161 ('JBHT', 0.3768067220731157)
162 ('ITW', 0.37622630948272806)
163 ('MCO', 0.37610866642436735)
164 ('ZBRA', 0.37505445708715035)
165 ('SNA', 0.3728987423119554)
166 ('EL', 0.3727574403916407)
167 ('ATVI', 0.3699124370006883)
168 ('DXC', 0.3678161011938321)
169 ('EXPD', 0.366103589859321)
170 ('CSX', 0.3649606806755188)
171 ('BF-B', 0.3634620069706507)
172 ('TMUS', 0.3630512339749754)
173 ('KLAC', 0.36019403265487937)
174 ('AES', 0.35763961060520755)
175 ('TXT', 0.35467477266493685)
176 ('CMCSA', 0.353544463858952)
177 ('ZBH', 0.3520438324212438)
178 ('LKQ', 0.3520233658109575)
179 ('CMA', 0.3508115572903552)
180 ('XLNX', 0.3482412502882182)
181 ('ADM', 0.3458277993725105)
182 ('YUM', 0.3457889755477004)
183 ('MCD', 0.34409490940707776)
184 ('IP', 0.34182156622608795)
185 ('MSFT', 0.34059749534191486)
186 ('MMC', 0.338973959722229)
187 ('ETN', 0.33529623196857083)
188 ('STZ', 0.33388893070997905)
189 ('VRSK', 0.3337234189643776)
190 ('TROW', 0.33259126271313977)
191 ('NWL', 0.33208122264832807)
192 ('NFLX', 0.33163781299413286)
193 ('FRC', 0.33036855425748923)
194 ('IEX', 0.3293556689995736)
195 ('HUM', 0.32230575659161564)
196 ('SBUX', 0.32150272515688405)
197 ('EFX', 0.3201870956584394)
198 ('PFG', 0.31948985497102056)
199 ('RF', 0.3191292757668738)
200 ('DPZ', 0.31759249524230215)
201 ('VFC', 0.3174746597609408)
202 ('GS', 0.3160658665946954)
203 ('ADI', 0.3160239787734531)
204 ('INFO', 0.31458166532970333)
205 ('VOO', 0.3114076264531105)
206 ('FMC', 0.30783406760513654)
207 ('AMAT', 0.3069630202632818)
208 ('CAT', 0.3068475929250656)
209 ('AJG', 0.3067572979344604)
210 ('DOV', 0.30300212760471457)
211 ('NDAQ', 0.30260342591889944)
212 ('EA', 0.3018868528095777)
213 ('XYL', 0.3009166834687438)
214 ('IVZ', 0.3002199524600455)
215 ('BLK', 0.297173297727531)
216 ('BKR', 0.294558742769379)
217 ('PAYX', 0.29169443536455386)
218 ('WAB', 0.2908166620657813)
219 ('BLL', 0.29064394629543755)
220 ('CDW', 0.29043395035213604)
221 ('ECL', 0.2883578386043997)
222 ('ALK', 0.28661756064507915)
223 ('PGR', 0.28540954582913236)
224 ('DIS', 0.2844720889337842)
225 ('MPC', 0.28237339211575874)
226 ('GRMN', 0.2817906713068967)
227 ('MHK', 0.2800367139604414)
228 ('PG', 0.27999863784098933)
229 ('FLT', 0.27640192276781717)
230 ('PKG', 0.2757291435352618)
231 ('ULTA', 0.27478656583881)
232 ('ALXN', 0.27441807705102117)
233 ('CNP', 0.27298418590562457)
234 ('BKNG', 0.27157859989342037)
235 ('OKE', 0.27154103704334376)
236 ('ROP', 0.2708907748964331)
237 ('AMGN', 0.2706277701445332)
238 ('KSS', 0.27004801184726257)
239 ('EW', 0.269536636838533)
240 ('NUE', 0.26895756638736135)
241 ('AVY', 0.26778130833640335)
242 ('PLD', 0.26684686995249485)
243 ('TFC', 0.26554851750088626)
244 ('STE', 0.26496710773166865)
245 ('GOOG', 0.2638349356585421)
246 ('PRU', 0.26254991395661853)
247 ('VMC', 0.2617026860122236)
248 ('GOOGL', 0.2613279720936508)
249 ('UNH', 0.26073846913275545)
250 ('SYK', 0.25919550457776586)
251 ('OTIS', 0.2571085707261609)
252 ('AON', 0.25589618106277134)
253 ('RSG', 0.2555960180325343)
254 ('IT', 0.25489602622482743)
255 ('BEN', 0.25179302145689)
256 ('MLM', 0.25069027130183885)
257 ('COST', 0.2505746987772719)
258 ('HLT', 0.25029311790355324)
259 ('MET', 0.248272621302968)
260 ('WRK', 0.2477754452052554)
261 ('O', 0.24765578363792873)
262 ('ICE', 0.24673090642478712)
263 ('HON', 0.24644050388168304)
264 ('ORCL', 0.24637284126061898)
265 ('PEG', 0.245594741103208)
266 ('CBRE', 0.2455582699826513)
267 ('V', 0.24508214362989378)
268 ('DLTR', 0.24322845814996263)
269 ('MRO', 0.2431611550184576)
270 ('HES', 0.2426715235948309)
271 ('WMT', 0.24188661990487637)
272 ('PXD', 0.24073509183969466)
273 ('KHC', 0.24045155888426217)
274 ('MSCI', 0.23993656642109507)
275 ('CTVA', 0.23895497021092837)
276 ('WLTW', 0.237819126569216)
277 ('MAR', 0.23753515375458822)
278 ('WELL', 0.23497156488094184)
279 ('WM', 0.23463732208526888)
280 ('GPN', 0.23393948737240344)
281 ('DTE', 0.23382556448957503)
282 ('FOX', 0.23266333592906263)
283 ('CAG', 0.2316516980607939)
284 ('EQIX', 0.2261769219832963)
285 ('CLX', 0.2257576626346669)
286 ('INCY', 0.2254539635395596)
287 ('COO', 0.22303715606761831)
288 ('AWK', 0.22195694502950913)
289 ('UA', 0.22084362782897227)
290 ('UAA', 0.2193267639221177)
291 ('LNC', 0.21899928749919817)
292 ('FIS', 0.2160835475831966)
293 ('IFF', 0.21464442071627832)
294 ('KIM', 0.20900942450494164)
295 ('AKAM', 0.20821951575650544)
296 ('TPR', 0.20694983356357755)
297 ('WU', 0.20597001468353127)
298 ('SPG', 0.20279711183916582)
299 ('HRB', 0.19787999841790938)
300 ('MMM', 0.19581835459461772)
301 ('WYNN', 0.19305531146379606)
302 ('ANTM', 0.19099232885254325)
303 ('MSI', 0.19025792299778166)
304 ('GIS', 0.18833389618396157)
305 ('FOXA', 0.18754399084274254)
306 ('KEY', 0.18585892904134882)
307 ('LYV', 0.18521782123217245)
308 ('SBAC', 0.18336033212252656)
309 ('AXP', 0.18285548835844123)
310 ('ARE', 0.1828395228149653)
311 ('ABBV', 0.1810119098513301)
312 ('KEYS', 0.18044931189116076)
313 ('AIZ', 0.17874835349468343)
314 ('HAS', 0.17792626154213664)
315 ('WRB', 0.17677814369650813)
316 ('CL', 0.1765677751102046)
317 ('IRM', 0.17585321437011836)
318 ('J', 0.17583245268480385)
319 ('TYL', 0.17534394533344289)
320 ('PNC', 0.17465551258961987)
321 ('KMB', 0.17156485065494476)
322 ('PEP', 0.17135871144596804)
323 ('PEAK', 0.17129882830894672)
324 ('BSX', 0.17100820820413576)
325 ('FANG', 0.17013606723237396)
326 ('CCI', 0.16990252227552238)
327 ('LW', 0.16942034405865147)
328 ('RMD', 0.16910744712290993)
329 ('SLB', 0.16901039408983465)
330 ('MDT', 0.1664968719287505)
331 ('NEE', 0.16572356527317345)
332 ('BRK-B', 0.1646885101394624)
333 ('TFX', 0.16462195203896535)
334 ('FTNT', 0.16447563201356452)
335 ('TJX', 0.1639824289352081)
336 ('HSIC', 0.16349956941189703)
337 ('RJF', 0.16348150233430148)
338 ('UNM', 0.1614197311578498)
339 ('MDLZ', 0.16014045087501017)
340 ('AIG', 0.15969549579835163)
341 ('XEL', 0.15929563651762169)
342 ('FLS', 0.15828868061342138)
343 ('CERN', 0.15695531039190058)
344 ('DRE', 0.15497275357832896)
345 ('CF', 0.15288176994138114)
346 ('CCL', 0.1526196064721248)
347 ('FFIV', 0.1513645297325663)
348 ('HBAN', 0.15099994134539307)
349 ('JNJ', 0.15084123344891687)
350 ('BAC', 0.1505881345494431)
351 ('NRG', 0.14768234760978904)
352 ('PFE', 0.14669173888415799)
353 ('REGN', 0.1464089362897052)
354 ('MAA', 0.14579627970063758)
355 ('LMT', 0.144582767845979)
356 ('VRTX', 0.14360159112075044)
357 ('PSA', 0.1433246859165751)
358 ('JNPR', 0.14234973649484783)
359 ('NLSN', 0.13969207297863973)
360 ('VRSN', 0.13748686917161956)
361 ('EXR', 0.1372644508134948)
362 ('KR', 0.13705096188503063)
363 ('KO', 0.1349557415415117)
364 ('PPL', 0.13432023603225862)
365 ('FLIR', 0.13354572047941793)
366 ('STT', 0.13308636093086013)
367 ('VZ', 0.13167763350169892)
368 ('ILMN', 0.1316637086188024)
369 ('XRAY', 0.1314727599053096)
370 ('NLOK', 0.12643295642822738)
371 ('DVA', 0.12608472620443334)
372 ('IBM', 0.12608112352029632)
373 ('AMT', 0.12485828341641003)
374 ('DUK', 0.12056297719692544)
375 ('DISCA', 0.1198559598609088)
376 ('D', 0.11858911009917494)
377 ('CTL', 0.11812623825916035)
378 ('DISCK', 0.11744580150613104)
379 ('SLG', 0.11668941167088409)
380 ('MU', 0.1165001795338323)
381 ('GL', 0.11623789341073354)
382 ('WEC', 0.11541292370417833)
383 ('ZION', 0.11521015096288334)
384 ('HPQ', 0.11479629626519361)
385 ('BA', 0.10808632951024655)
386 ('MCK', 0.1069717285600611)
387 ('ABC', 0.1051607503321601)
388 ('TRV', 0.10451248043147765)
389 ('UAL', 0.10142633408309365)
390 ('AEE', 0.09971563836227548)
391 ('BMY', 0.09890196648196703)
392 ('LVS', 0.09865784097661989)
393 ('K', 0.09499101437486601)
394 ('MRK', 0.09458610656477506)
395 ('HSY', 0.09417550454283075)
396 ('JPM', 0.09094999206370047)
397 ('SCHW', 0.089004385832131)
398 ('COP', 0.08788227356911804)
399 ('LNT', 0.08530081294251302)
400 ('FISV', 0.08485109347562658)
401 ('ES', 0.08326360399658661)
402 ('ALLE', 0.08173588631150186)
403 ('UHS', 0.08013720897533405)
404 ('AFL', 0.07830721455780276)
405 ('LLY', 0.0772907155122251)
406 ('NTAP', 0.07614418900382458)
407 ('WAT', 0.07486948308453667)
408 ('DLR', 0.07368011775798133)
409 ('ROST', 0.07301366430945255)
410 ('DAL', 0.07185416010242585)
411 ('ETR', 0.06843386951759944)
412 ('SRE', 0.0664588516421114)
413 ('USB', 0.06529584044495063)
414 ('CPB', 0.06325103915401753)
415 ('HIG', 0.06303104779643331)
416 ('GD', 0.06271010426837442)
417 ('PM', 0.06072896208465184)
418 ('CMS', 0.06007868949538109)
419 ('IPG', 0.059498756920703055)
420 ('HRL', 0.058670452426454966)
421 ('SJM', 0.05680122503731555)
422 ('LUV', 0.05307496088890917)
423 ('CB', 0.0528786462127977)
424 ('JKHY', 0.05259769067600084)
425 ('CINF', 0.051631669333729535)
426 ('NOC', 0.05156933202509051)
427 ('NTRS', 0.05065258131834649)
428 ('C', 0.04484285163107038)
429 ('TDY', 0.04352946116202516)
430 ('RE', 0.04174057676430687)
431 ('MO', 0.04160392239934363)
432 ('TSN', 0.0416019520143609)
433 ('HWM', 0.04109588227644334)
434 ('AEP', 0.0395611063643353)
435 ('ALL', 0.038001302557619576)
436 ('BK', 0.03731260547678583)
437 ('CXO', 0.03716145793452963)
438 ('STX', 0.03665957947169507)
439 ('AVB', 0.03639681958948193)
440 ('ADP', 0.033396893710755604)
441 ('SO', 0.02525091077823527)
442 ('CVX', 0.022774690174238943)
443 ('ANET', 0.021624238746144053)
444 ('XRX', 0.021497895945309153)
445 ('COG', 0.020404650675434732)
446 ('REG', 0.0196135178818031)
447 ('CSCO', 0.019503885312339486)
448 ('BDX', 0.019421732193514396)
449 ('ED', 0.018523370129706063)
450 ('EOG', 0.017561434967500844)
451 ('RL', 0.017058197791619767)
452 ('T', 0.012535236792140081)
453 ('FRT', 0.009272776094420676)
454 ('AAL', 0.008203477023137173)
455 ('PNW', 0.0032443111257449697)
456 ('L', 0.0013910309612668037)
457 ('CVS', 0.00031398994902698263)
458 ('CAH', -0.0010520571889911512)
459 ('BAX', -0.003965970759481796)
460 ('MYL', -0.0053655214302326115)
461 ('PSX', -0.0074302907702454846)
462 ('EXC', -0.008170525489347047)
463 ('CBOE', -0.008896463623391804)
464 ('HPE', -0.012563905943315579)
465 ('VLO', -0.012759105487303857)
466 ('RTX', -0.014867675497422406)
467 ('CNC', -0.01817872444253954)
468 ('AIV', -0.018322757884723373)
469 ('LDOS', -0.020149580390026012)
470 ('CTXS', -0.022264509681246047)
471 ('HST', -0.022644927614477894)
472 ('CME', -0.023106282090882946)
473 ('ATO', -0.025474367893193017)
474 ('INTC', -0.03129810424612012)
475 ('PRGO', -0.03729741002073628)
476 ('VNO', -0.03818994528418518)
477 ('PBCT', -0.038724483784027486)
478 ('CI', -0.0438536478996816)
479 ('LHX', -0.0485873224002612)
480 ('EIX', -0.049583478782074364)
481 ('EVRG', -0.059821715461331526)
482 ('XOM', -0.060152056647170715)
483 ('FTI', -0.06379819628202843)
484 ('ESS', -0.07049871000439711)
485 ('OMC', -0.07696733267672706)
486 ('NOV', -0.07833158800260243)
487 ('KMI', -0.08179559845368112)
488 ('UDR', -0.08950221154064475)
489 ('MTB', -0.091172619090644)
490 ('TIF', -0.09654439195813547)
491 ('BIIB', -0.10335675991642823)
492 ('NI', -0.1044014544159817)
493 ('BXP', -0.10890335346899738)
494 ('WDC', -0.11031284861628754)
495 ('OXY', -0.13423461774459056)
496 ('GILD', -0.13830290052535554)
497 ('TAP', -0.1397076950201721)
498 ('EQR', -0.15002812846591906)
499 ('WFC', -0.16075231130930734)
500 ('HFC', -0.17534259256303608)
501 ('WBA', -0.1968352472891668)
502 ('GE', -0.21289004702927117)
503 ('HII', -0.2184253241870212)
504 ('FE', -0.26685636192496653)
505 ('COTY', -0.4767441613321278)

VO番目上から206番目で4月1日と9月30日を比較した場合、+31% (0.3114076264531105)という事が分かりました。

最後にmatplotlibを使い、ヒストグラムをプロットしてみましょう。

先程の辞書から、値を取り出し、リストを作ります。これを描写するだけで簡単にヒストグラムが描けちゃいます。

x = ratio_dict.values()
fig = plt.figure(figsize=(22, 12), dpi=50)
ax = fig.add_subplot(1,1,1)
ax.set_xticks([-1.6,-1.4,-1.2,-1.0,-0.8,-0.6,-0.4,-0.2, 0, 0.2,0.4,0.6,0.8,1.0,1.2,1.4,1.6])
ax.set_yticks([0, 10, 20, 30])
ax.hist(x, bins=100)
fig.show()

プロットされたグラフは以下の通り。

image

たった6ヶ月で倍以上になった銘柄もちらほらありますね。

グラフを見る限り、4月以降はコロナで世界が大騒ぎする中、株式市場は好調だったみたいですね。トータルでマイナスだった銘柄は約50銘柄といったところでしょうか。

集計してみて改めて思いましたが、インデックス投資は堅実ではありますが、夢を見る事は出来ませんね。

素質と度胸、そして握力がある人ならば個別グロースで爆益も夢じゃないのかもしれませんね。


Nadeca

アラサー会社員。定期でVTを買うだけの退屈な投資。

お知らせ

おすすめ記事