Ist diese Marke groß? Mittlere Größe? Klein? Wenn Sie sich darüber Sorgen machen, ist es hilfreich, Informationen darüber zu haben, ob es sich um einen Bestandteil des Index handelt oder nicht. Wenn Sie also einen beliebigen Aktiencode angeben, haben wir eine Klasse erstellt, die das Streubesitzverhältnis und das Zusammensetzungsgewicht sowie den enthaltenen TOPIX-Größenindex zurückgibt. Da es schwierig war, die Originaldaten online zu stellen, erfolgt die Aktualisierung manuell. Tsumami.
Speichern Sie das folgende PDF im TXT-Format am selben Speicherort wie die Klasse. (Sie können es mit Acrobat Reader tun)
TOPIX (TSE Stock Index) | Japan Exchange Group Liste des Streubesitzverhältnisses und des Zusammensetzungsgewichts nach Bestandteilen
Nichts, nur den Text lesen und analysieren.
TOPIX
#! /usr/bin/env python
# -*- coding: utf-8 -*-
import re
class TOPIX:
"""
Wie benutzt man
1.Vorbereitung
http://www.jpx.co.jp/markets/indices/topix/tvdivq00000030ne-att/list-j.pdf
DL und Liste am selben Speicherort wie das Skript-j.Als txt speichern.(Speichern Sie Acrobat Reader txt)
das ist alles
"""
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
Gibt den in newindex () enthaltenen Indexnamen, float_ratio () die Floating Stock Ratio und weight () die Composition Ratio zurück. Wenn Sie den Indexnamen in include () angeben, werden die Bestandteile des Index zurückgegeben.
Testcode
python
myTOPIX = TOPIX()
s = '9984'
print(myTOPIX.newindex(s))
print(myTOPIX.float_ratio(s))
print(myTOPIX.weight(s))
print(myTOPIX.includes('Core30'))
Ergebnis
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