AI последующих количественной торговля (два) - Tushare кадра финансовых данных

AI последующих количественной торговля (два) - Tushare кадра финансовых данных

A, Tushare Профиль

1, Tushare Профиль

Tushare является свободным, открытым исходным кодом питон Финансы интерфейс данных пакета, в настоящее время Tushare Pro версии, главным достижением акций и других финансовых данных из сбора, очистки и обработки в данных хранимых процедур, может обеспечить быстрое финансовых аналитиков, чистый и разнообразный для облегчения анализа данных. Tushare возвращение большинство форматов данных являются панды типа DataFrame, очень легко анализа и визуализации данных с пандами, NumPy, Matplotlib.
AI последующих количественной торговля (два) - Tushare кадра финансовых данных

2, установка Tushare

Github: https://github.com/waditu/Tushare

pip install tushare lxml
pip install beautifulsoup4

3, маркера поколения

Tushare использование необходимо зарегистрировать учетную запись и генерировать токен.
Приглашает регистрацию ссылку: https://tushare.pro/register?reg=306303
успешной регистрации, Логин Tushare, нажмите на персональных настройках:
AI последующих количественной торговля (два) - Tushare кадра финансовых данных
находят лицо страницы интерфейса Токена маркеров, маркеры Интерфейс использует Tushare единственного доказательство, если найдены протечки вы можете обновить сгенерировать новый токен.

import tushare as ts

if __name__ == '__main__':
    print(ts.__version__)
    # 设置Token
    ts.set_token('xxx0ac207a5a45e0f7503aff25bf6bd929b88fe1d017a034ee0d530')
    # 初始化接口
    ts_api = ts.pro_api()

# output:
# 1.2.45

4, Tushare API Введение

Tushare интерфейс данных в Шанхае и Шэньчжэне фондовые индексы фонды, фьючерсы, опционы, облигации, валютные, акции в Гонконге, секторов экономики, макроэкономики, есть в общей сложности одиннадцать основных больших объемов данных, Шанхае и Шэньчжэне акций , в которые базовые данные, данные о рынке финансовые данные, рынок четыре типа интерфейсов эталонных данных. Tushare также предоставил основные данные , относящиеся к блоку цепочке, макроэкономические данные о рынке, сводки новостей три типа интерфейсов, а также Син финансах, East Fortune, Flush, облако финансов, знания и другом финансовых веб - сайте Wall Street, обмен валют, акции, блок цепочка американские фондовые индексы, нефть, золото, золото валютные, в Гонконге акции, товары, облигации, компании, рынок фокус, центральный банк и иная финансовая информация , как новости.
Tushare интерфейсам API необходимо получить соответствующие точки доступа на основе количества зарегистрированных счетов, может привести к уровню интеграции не хватает API интерфейсов , не имеющий доступа, блок интерфейсам цепи связанных нужно пожертвование , чтобы получить разрешение.
Tushare API интерфейс Ссылка: https://tushare.pro/document/2

Два, Tushare интерфейс фондовых данных

1, список акций

import tushare as ts

if __name__ == '__main__':
    # 设置Token
    ts.set_token('b31e0ac207a5a45e0f7503aff25bf6bd929b88fe1d017a034ee0d530')
    # 初始化接口
    ts_api = ts.pro_api()
    data = ts_api.stock_basic(exchange='', list_status='L', fields='ts_code,symbol,name,area,industry,list_date')
    # data = ts_api.query('stock_basic', exchange='', list_status='L',
    #                     fields='ts_code,symbol,name,area,industry,list_date')
    print(data)

Получить базу данных биржевой информации, включая имя фондового индекса, дату запуска, концепцию промышленности.

2, IPO, IPO

import tushare as ts

if __name__ == '__main__':
    # 设置Token
    ts.set_token('b31e0ac207a5a45e0f7503aff25bf6bd929b88fe1d017a034ee0d530')
    # 初始化接口
    ts_api = ts.pro_api()
    data = ts_api.new_share(start_date='20190101', end_date='20190901')
    print(data)

ВИС получить список данных

3, ежедневный рынок

import tushare as ts

if __name__ == '__main__':
    # 设置Token
    ts.set_token('b31e0ac207a5a45e0f7503aff25bf6bd929b88fe1d017a034ee0d530')
    # 初始化接口
    ts_api = ts.pro_api()
    data = ts_api.daily(ts_code='000001.SZ', start_date='20190101', end_date='20190901')
    print(data)

Торговый день между 15:00 - 16:00 каждый день. Этот порт не подходит для повторного рынка, он не обеспечивает данные во время перерыва.

4, еженедельный рынок

import tushare as ts

if __name__ == '__main__':
    # 设置Token
    ts.set_token('b31e0ac207a5a45e0f7503aff25bf6bd929b88fe1d017a034ee0d530')
    # 初始化接口
    ts_api = ts.pro_api()
    data = ts_api.weekly(ts_code='000001.SZ', start_date='20180101', end_date='20181101',
                         fields='ts_code,trade_date,open,high,low,close,vol,amount')
    print(data)

Еженедельный рынок прибудет -долю

5, цены на месяц

import tushare as ts

if __name__ == '__main__':
    # 设置Token
    ts.set_token('b31e0ac207a5a45e0f7503aff25bf6bd929b88fe1d017a034ee0d530')
    # 初始化接口
    ts_api = ts.pro_api()
    data = ts_api.monthly(ts_code='000001.SZ', start_date='20180101', end_date='20181101',
                          fields='ts_code,trade_date,open,high,low,close,vol,amount')
    print(data)

Получите-долю ежемесячно данных.

6, общий рынок Интерфейс

интерфейс pro_bar интегрировать запас (повторно не право, до восстановления восстановительного справа), индекса цифровой валюты, ETF фондов, фьючерсов, варианта рыночных данных, в будущем будет все торговые данными, включая иностранную валюту, в том числе, обеспечивая при этом минуты данных.

import tushare as ts

if __name__ == '__main__':
    # 设置Token
    ts.set_token('b31e0ac207a5a45e0f7503aff25bf6bd929b88fe1d017a034ee0d530')
    # 初始化接口
    ts_api = ts.pro_api()
    data = ts.pro_bar(api=ts_api, ts_code='000009.SZ', adj='qfq', start_date='20170101', end_date='20181011', ma=[5],
                      freq='D')
    print(data)

Получить данные Unit K линии с проверки веса параметра «прил», средний параметр «ма», данных параметров в частотном «частота».

7, все данные приобрели акции

import tushare
import os
import datetime
import timedelta

def fetch_kline_data(code):
    filename = 'your path'
    if not os.path.exists(filename):
        end_date = datetime.strftime(datetime.now(), '%Y%m%d')#获取当前时间
        outputflag = True
        api = tushare.pro_api()
        while outputflag:#循环判断,直到返还的数据为空
           data = tushare.pro_bar(pro_api=api,ts_code=code,
                                end_date=end_date,asset='E', adj=None, freq='D')
           if data.empty == True:
               outputflag = False
           else:
                #计算下次请求数据的截止日期
                next_end_date = datetime.strptime(data.iloc[-1]['trade_date'],
                                              '%Y%m%d') - timedelta(hours=24)
                end_date = datetime.strftime(next_end_date, '%Y%m%d')
                #写csv文件
                if os.path.exists(filename):
                    data.to_csv(filename, header=None, mode='a')#追加写入模式
                else:
                    data.to_csv(filename, header=None, mode='a')

Три, Tushare перечислены интерфейс финансовых данных компании

1, о прибылях и убытках

import tushare as ts

if __name__ == '__main__':
    # 设置Token
    ts.set_token('xxxx0ac207a5a45e0f7503aff25bf6bd929b88fe1d017a034ee0d530')
    # 初始化接口
    ts_api = ts.pro_api()
    data = ts_api.income(ts_code='600001.SH', start_date='20190101', end_date='20190901')
    print(data)

Приобретение перечисленных компаний Отчет о прибыли финансовых данных

2, Баланс

import tushare as ts

if __name__ == '__main__':
    # 设置Token
    ts.set_token('b31e0ac207a5a45e0f7503aff25bf6bd929b88fe1d017a034ee0d530')
    # 初始化接口
    ts_api = ts.pro_api()
    data = ts_api.balancesheet(ts_code='600000.SH', start_date='20190101', end_date='20190901',
                               fields='ts_code,ann_date,f_ann_date,end_date,report_type,comp_type,cap_rese')
    print(data)

Приобретение баланса перечисленных компаний.

3, Отчет о движении денежных

import tushare as ts

if __name__ == '__main__':
    # 设置Token
    ts.set_token('b31e0ac207a5a45e0f7503aff25bf6bd929b88fe1d017a034ee0d530')
    # 初始化接口
    ts_api = ts.pro_api()
    data = ts_api.cashflow(ts_code='600000.SH', start_date='20190101', end_date='20190901')
    print(data)

Включенный в список компаний для получения отчета о движении денежных потоков.

4, прогноз бизнеса

import tushare as ts

if __name__ == '__main__':
    # 设置Token
    ts.set_token('b31e0ac207a5a45e0f7503aff25bf6bd929b88fe1d017a034ee0d530')
    # 初始化接口
    ts_api = ts.pro_api()
    data = ts_api.forecast(ann_date='20190131',
                           fields='ts_code,ann_date,end_date,type,p_change_min,p_change_max,net_profit_min')
    print(data)

Получает производительности прогнозные данные.

5, данные о распределении бонуса

import tushare as ts

if __name__ == '__main__':
    # 设置Token
    ts.set_token('b31e0ac207a5a45e0f7503aff25bf6bd929b88fe1d017a034ee0d530')
    # 初始化接口
    ts_api = ts.pro_api()
    data = ts_api.dividend(ts_code='600848.SH', fields='ts_code,div_proc,stk_div,record_date,ex_date')
    print(data)

распределение Bonus данных.

6, результаты Письма

import tushare as ts

if __name__ == '__main__':
    # 设置Token
    ts.set_token('b31e0ac207a5a45e0f7503aff25bf6bd929b88fe1d017a034ee0d530')
    # 初始化接口
    ts_api = ts.pro_api()
    data = ts_api.express(ts_code='600000.SH', start_date='20180101', end_date='20180701',
                          fields='ts_code,ann_date,end_date,revenue,operate_profit,total_profit,n_income,total_assets')
    print(data)

Получает производительность перечисленных компаний Letters.

7 финансовые показатели данных

import tushare as ts

if __name__ == '__main__':
    # 设置Token
    ts.set_token('b31e0ac207a5a45e0f7503aff25bf6bd929b88fe1d017a034ee0d530')
    # 初始化接口
    ts_api = ts.pro_api()
    data = ts_api.fina_indicator(ts_code='600000.SH')

    print(data)

Получение финансовых показателей, перечисленных данных компании, для того, чтобы давление, избегайте на сервере, каждый запрос возвращает этот этап до 60 записей, установить дату повторных запросов для большего количества данных.

8, финансовый аудит мнение

import tushare as ts

if __name__ == '__main__':
    # 设置Token
    ts.set_token('b31e0ac207a5a45e0f7503aff25bf6bd929b88fe1d017a034ee0d530')
    # 初始化接口
    ts_api = ts.pro_api()
    data = ts_api.fina_audit(ts_code='600000.SH', start_date='20100101', end_date='20180808')
    print(data)

Приобретение перечисленных компаний на финансовый аудит данных мнение регулярной основе

9, основной бизнес состав

import tushare as ts

if __name__ == '__main__':
    # 设置Token
    ts.set_token('b31e0ac207a5a45e0f7503aff25bf6bd929b88fe1d017a034ee0d530')
    # 初始化接口
    ts_api = ts.pro_api()
    data = ts_api.fina_mainbz(ts_code='000627.SZ', type='P')
    print(data)

Получить запас основных операций ,
df = ts_api.fina_mainbz_vip(period='20181231', type='P', fields='ts_code,end_date,bz_item,bz_sales')
чтобы получить четверть всех акций основных операций

10, полный финансовый индекс перечисленных компаний, чтобы получить

import tushare
import datetime
import os
import timedelta

def fetch_finance_indicator(code):
    filename = 'your path'
    if not os.path.exists(filename):
        end_date = datetime.strftime(datetime.now(), '%Y%m%d')
        outputflag = True
        api = tushare.pro_api()
        while outputflag:
            data = api.fina_indicator(ts_code=code, end_date=end_date)
            if data.empty == True:
                outputflag = False
            else:
                next_end_date = datetime.strptime(
                    data.iloc[-1]['end_date'], '%Y%m%d') - timedelta(hours=24)
                end_date = datetime.strftime(next_end_date, '%Y%m%d')
                if os.path.exists(filename):
                    data.to_csv(filename, header=None, mode='a')
                else:
                    data.to_csv(filename)

Четыре индексные интерфейсы Tushare

1, базовая индексная информация

import tushare as ts

if __name__ == '__main__':
    # 设置Token
    ts.set_token('b31e0ac207a5a45e0f7503aff25bf6bd929b88fe1d017a034ee0d530')
    # 初始化接口
    ts_api = ts.pro_api()
    data = ts_api.index_basic(market='CSI')
    print(data)

Получение основного индекса информации.
MSCI: MSCI индекс
CSI: CSI
SSE: Шанхайской фондовой бирже индекс
SZSE: Шэньчжэнь фондовой бирже индекс
КМУС: золото в индексе
SW: индекс SW

2, индекс ежедневный рынок

import tushare as ts

if __name__ == '__main__':
    # 设置Token
    ts.set_token('b31e0ac207a5a45e0f7503aff25bf6bd929b88fe1d017a034ee0d530')
    # 初始化接口
    ts_api = ts.pro_api()
    data = ts_api.index_daily(ts_code='399300.SZ', start_date='20190101', end_date='20190910')
    print(data)

Получить ежедневный рыночный индекс, интерфейс также может быть получен через бар. Поскольку давление на сервере, текущее правило является то, что один поиск занимает до 8000 строк, вы можете установить начальную и конечную дату завершения. Данные индекса Котировки могут быть приобретены через интерфейс общего рынка.

3, еженедельный индекс рынка

import tushare as ts

if __name__ == '__main__':
    # 设置Token
    ts.set_token('b31e0ac207a5a45e0f7503aff25bf6bd929b88fe1d017a034ee0d530')
    # 初始化接口
    ts_api = ts.pro_api()
    data = ts_api.index_weekly(ts_code='000001.SH', start_date='20180101', end_date='20190329',
                               fields='ts_code,trade_date,open,high,low,close,vol,amount')
    print(data)

Получить индекс еженедельный рынок, крупнейшие одиночные строки 1000, могут быть приобретены в партиях, общая сумма не ограничивается.

4, ежемесячный индекс рынка

import tushare as ts

if __name__ == '__main__':
    # 设置Token
    ts.set_token('b31e0ac207a5a45e0f7503aff25bf6bd929b88fe1d017a034ee0d530')
    # 初始化接口
    ts_api = ts.pro_api()
    data = ts_api.index_monthly(ts_code='000001.SH', start_date='20180101', end_date='20190930',
                                fields='ts_code,trade_date,open,high,low,close,vol,amount')
    print(data)

Получить ежемесячный индекс рынка, обновляется ежемесячно, 1000 крупнейших однострочные записи, несколько приобретений, общее количество не ограничивает. Пользователи должны по крайней мере, 600 точек могут быть восстановлены, тем больше очков, тем выше частота.

5, индекс компоненты и вес

import tushare as ts

if __name__ == '__main__':
    # 设置Token
    ts.set_token('b31e0ac207a5a45e0f7503aff25bf6bd929b88fe1d017a034ee0d530')
    # 初始化接口
    ts_api = ts.pro_api()
    data = ts_api.index_weight(index_code='399300.SZ', start_date='20180901', end_date='20190930')
    print(data)

Получить все виды индексов компонентов и весов, месячных данных. Для Японии индекс составных частей и веса, вам нужно как минимум 400 баллов можно получить.

Интерфейс данных Пять, Tushare ссылка рынка

1, Гонконге акции торгуются акции через 10

import tushare as ts

if __name__ == '__main__':
    # 设置Token
    ts.set_token('b31e0ac207a5a45e0f7503aff25bf6bd929b88fe1d017a034ee0d530')
    # 初始化接口
    ts_api = ts.pro_api()
    data = ts_api.ggt_top10(trade_date='20190925')
    print(data)

Hong Kong акции, приобретенные в рамках ежедневных данных о сделках, в том числе Шанхайской фондовой бирже, Шэньчжэнь подробные данные.

2, торговая наценка резюме

import tushare as ts

if __name__ == '__main__':
    # 设置Token
    ts.set_token('b31e0ac207a5a45e0f7503aff25bf6bd929b88fe1d017a034ee0d530')
    # 初始化接口
    ts_api = ts.pro_api()
    data = ts_api.margin(trade_date='20190925')
    print(data)

Маржа торговый день, чтобы получить агрегированные данные.

3, маржинальная торговля детали

import tushare as ts

if __name__ == '__main__':
    # 设置Token
    ts.set_token('b31e0ac207a5a45e0f7503aff25bf6bd929b88fe1d017a034ee0d530')
    # 初始化接口
    ts_api = ts.pro_api()
    data = ts_api.margin_detail(trade_date='20190925')
    print(data)

Шанхай и Шэньчжэнь маржи получать ежедневные данные.

4, в верхней акционеров десять

import tushare as ts

if __name__ == '__main__':
    # 设置Token
    ts.set_token('b31e0ac207a5a45e0f7503aff25bf6bd929b88fe1d017a034ee0d530')
    # 初始化接口
    ts_api = ts.pro_api()
    data = ts_api.top10_holders(ts_code='600000.SH', start_date='20190101', end_date='20191231')
    print(data)

Получить данные перед десяти акционерами перечисленных компаний, в том числе количества и доли запасов и другой информации.

5, в первую десятку торгуемых акционеров

import tushare as ts

if __name__ == '__main__':
    # 设置Token
    ts.set_token('b31e0ac207a5a45e0f7503aff25bf6bd929b88fe1d017a034ee0d530')
    # 初始化接口
    ts_api = ts.pro_api()
    data = ts_api.top10_floatholders(ts_code='600000.SH', start_date='20190101', end_date='20191231')
    print(data)

Десять акционеров перечисленных компаний, чтобы получить данные раньше.

6, Billboard ежедневные детали

import tushare as ts

if __name__ == '__main__':
    # 设置Token
    ts.set_token('b31e0ac207a5a45e0f7503aff25bf6bd929b88fe1d017a034ee0d530')
    # 初始化接口
    ts_api = ts.pro_api()
    data = ts_api.top_list(trade_date='20190925')
    print(data)

Billboard ежедневных деталей сделки, крупнейшие 10000, пользователи необходимо не менее 300 баллов можно получить.

7, Billboard институциональных Данных

import tushare as ts

if __name__ == '__main__':
    # 设置Token
    ts.set_token('b31e0ac207a5a45e0f7503aff25bf6bd929b88fe1d017a034ee0d530')
    # 初始化接口
    ts_api = ts.pro_api()
    data = ts_api.top_inst(trade_date='20190925')
    print(data)

Billboard деталь агентство сделки, крупнейшие 10000, пользователям необходимо не менее 300 баллов можно получить.

8, блок торговой

import tushare as ts

if __name__ == '__main__':
    # 设置Token
    ts.set_token('b31e0ac207a5a45e0f7503aff25bf6bd929b88fe1d017a034ee0d530')
    # 初始化接口
    ts_api = ts.pro_api()
    data = ts_api.block_trade(trade_date='20190925')
    print(data)

Блок торгов, самый крупный 1000, не ограничивает общую сумму, 300 баллов, необходимое для регулируемого ограничить количество раз в минуту, более 5000 баллов неограниченными.

9, фондовые счета данные

import tushare as ts

if __name__ == '__main__':
    # 设置Token
    ts.set_token('b31e0ac207a5a45e0f7503aff25bf6bd929b88fe1d017a034ee0d530')
    # 初始化接口
    ts_api = ts.pro_api()
    data = ts_api.stk_account(start_date='20190101', end_date='20191231')
    print(data)

Получить счет запаса данные открытий, статистический период одной недели, скорректированный принять 600 баллов.

10, количество акционеров

import tushare as ts

if __name__ == '__main__':
    # 设置Token
    ts.set_token('b31e0ac207a5a45e0f7503aff25bf6bd929b88fe1d017a034ee0d530')
    # 初始化接口
    ts_api = ts.pro_api()
    data = ts_api.stk_holdernumber(ts_code='300209.SZ', start_date='20190101', end_date='20191231')
    print(data)

Число акционеров перечисленных компаний для получения данных, данные, опубликованные время от времени. 3000 один максимум, общее количество не ограниченно, интегратора 600 является регулируемым, чтобы принять, извлечение на основе интегрирования 100 раз в минуту, более, чем 5000 интеграла неограниченных.

рекомендация

отblog.51cto.com/9291927/2450913