Cette marque est-elle grande? Taille moyenne? Petit? Lorsque cela vous inquiète, il serait utile d'avoir des informations pour savoir s'il fait ou non partie de l'indice. Donc, si vous donnez un code boursier arbitraire, nous avons créé une classe qui renvoie le ratio flottant libre et le poids de la composition ainsi que les indices de taille TOPIX inclus. Comme il était difficile de mettre en ligne les données originales, la mise à jour est manuelle. Tsumami.
Enregistrez le PDF suivant au format txt au même emplacement que la classe. (Vous pouvez le faire avec Acrobat Reader)
TOPIX (indice boursier TSE) | Japan Exchange Group Liste du ratio flottant et du poids de composition par stock constituant
Rien, juste lire et analyser le texte.
TOPIX
#! /usr/bin/env python
# -*- coding: utf-8 -*-
import re
class TOPIX:
"""
Comment utiliser
1.Préparation
http://www.jpx.co.jp/markets/indices/topix/tvdivq00000030ne-att/list-j.pdf
DL et liste au même emplacement que le script-j.Enregistrez en tant que txt.(Enregistrer le txt d'Acrobat Reader)
c'est tout
"""
def __init__(self):
re_date = re.compile(r"\d{4}/\d{2}/\d{2}")
self.result = dict()
for line in open('list-j.txt', 'r'):
matchOB = re_date.match(line)
if matchOB:
line = line.replace('Small ', 'Small').replace('○ ', '').replace('-', '- ').replace('\n', '')
line = line.replace(matchOB.group(), matchOB.group()+' ')
l = line.split(' ')
self.result[l[2]] = dict(
newindex=l[3],
float_ratio=l[4],
weight=l[5]
)
def newindex(self, code):
return self.result[code]['newindex']
def float_ratio(self, code):
return self.result[code]['float_ratio']
def weight(self, code):
return self.result[code]['weight']
def includes(self, newindex):
result = [code for code in self.result if self.result[code]['newindex'] == newindex]
return result
Renvoie le nom de l'indice inclus dans newindex (), le ratio de stock flottant dans float_ratio () et le ratio de composition dans weight (). Si vous spécifiez le nom de l'index dans includes (), les actions constitutives de l'index sont renvoyées.
Code de test
python
myTOPIX = TOPIX()
s = '9984'
print(myTOPIX.newindex(s))
print(myTOPIX.float_ratio(s))
print(myTOPIX.weight(s))
print(myTOPIX.includes('Core30'))
résultat
Core30
0.75000
1.6244%
['9432', '6752', '6981', '4502', '8031', '9437', '8058', '9433', '8802', '6501', '8766', '6902', '7267', '8306', '4503', '4063', '7203', '2914', '7751', '9022', '8604', '9020', '8801', '8411', '8316', '9984', '6954', '3382', '6758', '7201']
Recommended Posts