Търся начин да получа информация за разделяне на акции. С помощта на API на yahoo stock мога да получа всякакъв вид информация за всеки символ, но не мисля, че мога да получа коефициента на разделяне или дори дали е разделен. Някой знае ли начин за получаване на тази информация?
разделяне на акции api google или yahoo
Отговори (2)
Ето как пакетът quantmod R дали. Информацията за разделянето е в CSV „Само дивидент“:
http://ichart.finance.yahoo.com/x?s=IBM&a=00&b=2&c=1962&d=04&e=25&f=2011&g=v&y=0&z=30000
person
Joshua Ulrich
schedule
25.05.2011
Как извличате информация за разделянето от CSV файла само за дивиденти?
- person milan; 25.05.2011
Браво, благодаря, точно това търсех! Къде мога да получа информация за всички различни критерии за търсене? Намерих го на уебсайтове на трети части, но нищо официално от yahoo. някакви мисли?
- person milan; 25.05.2011
gummy-stuff съдържа най-много информация. Мисля, че намерих ichart.finance.yahoo.com/x? URL във форумите на Wealth-Lab. Не вярвам, че Yahoo има официална документация.
- person Joshua Ulrich; 25.05.2011
Освен това къде другаде мога да намеря други yahoo URL адреси за финанси. Използвал съм finance.yahoo. com/d/ и сега ichart.finance.yahoo.com/. Има ли други? Къде мога да намеря тази информация?
- person milan; 25.05.2011
Съжалявам, видях отговора ви, след като аз отговорих. Благодаря ти.
- person milan; 25.05.2011
има ли начин да изтеглите всички скорошни разделяния на акции наведнъж, вместо акция по акция? Благодаря!
- person Laurence_jj; 14.06.2021
Можете да го направите лесно в Python 3 с помощта на пакета pandas datareader. Започване на дефиниране на функция, която ще върне историята на разделянето като рамка с данни:
def split_history(stock, date_start, date_end, limit_denominator=1000):
from decimal import Decimal
from fractions import Fraction
from pandas_datareader import data as web
df = web.DataReader(stock, data_source='yahoo-actions', start=date_start, end=date_end)
is_split = df['action']=='SPLIT'
df = df[is_split]
ratios = []
for index, row in df.iterrows():
# Taking the inverse of the row['value'] as it is Yahoo finance convention
ratio = Fraction(1/Decimal(row['value'])).limit_denominator(limit_denominator)
ratios.append("{num} for {denom}".\
format(num=ratio.numerator, denom=ratio.denominator))
df['ratio'] = ratios
return df
Сега можем да вземем разделянето на Microsoft („MSFT“) като пример:
stock = 'MSFT'
date_start = '1987-01-01'
date_end = '2020-07-22'
split_history(stock, date_start, date_end)
action value ratio
2003-02-18 SPLIT 0.500000 2 for 1
1999-03-29 SPLIT 0.500000 2 for 1
1998-02-23 SPLIT 0.500000 2 for 1
1996-12-09 SPLIT 0.500000 2 for 1
1994-05-23 SPLIT 0.500000 2 for 1
1992-06-15 SPLIT 0.666667 3 for 2
1991-06-27 SPLIT 0.666667 3 for 2
1990-04-16 SPLIT 0.500000 2 for 1
1987-09-21 SPLIT 0.500000 2 for 1
Той също така обработва правилно обратното разделяне на акции:
stock = 'PHM.MC'
split_history(stock, date_start, date_end)
action value ratio
2020-07-22 SPLIT 12.0 1 for 12
ps: вероятно има по-добри начини за въвеждане на датите. ps2: също, limit_denominator е там, за да се избегнат грешни закръгляния. Можете да го удължите в редки случаи на съотношение на разделяне.
person
alelorca
schedule
22.07.2020