разделяне на акции api google или yahoo

Търся начин да получа информация за разделяне на акции. С помощта на API на yahoo stock мога да получа всякакъв вид информация за всеки символ, но не мисля, че мога да получа коефициента на разделяне или дори дали е разделен. Някой знае ли начин за получаване на тази информация?


person milan    schedule 25.05.2011    source източник


Отговори (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
comment
Как извличате информация за разделянето от CSV файла само за дивиденти? - person milan; 25.05.2011
comment
Браво, благодаря, точно това търсех! Къде мога да получа информация за всички различни критерии за търсене? Намерих го на уебсайтове на трети части, но нищо официално от yahoo. някакви мисли? - person milan; 25.05.2011
comment
gummy-stuff съдържа най-много информация. Мисля, че намерих ichart.finance.yahoo.com/x? URL във форумите на Wealth-Lab. Не вярвам, че Yahoo има официална документация. - person Joshua Ulrich; 25.05.2011
comment
Освен това къде другаде мога да намеря други yahoo URL адреси за финанси. Използвал съм finance.yahoo. com/d/ и сега ichart.finance.yahoo.com/. Има ли други? Къде мога да намеря тази информация? - person milan; 25.05.2011
comment
Съжалявам, видях отговора ви, след като аз отговорих. Благодаря ти. - person milan; 25.05.2011
comment
има ли начин да изтеглите всички скорошни разделяния на акции наведнъж, вместо акция по акция? Благодаря! - 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