AI 양적 무역 (2 개) - Tushare 금융 데이터 프레임

AI 양적 무역 (2 개) - Tushare 금융 데이터 프레임

A, Tushare 프로필

1 Tushare 프로필

Tushare 빠른 재무 분석가를 제공 할 수있는 무료 오픈 소스 파이썬 금융 데이터 인터페이스 패키지, 현재 Tushare 프로 버전, 데이터 수집에서 주식 및 기타 금융 데이터의 주요 성과, 청소 및 데이터 저장 프로 시저로 처리한다, 깨끗하고 다양한 데이터 분석을 용이하게한다. 데이터 형식의 대부분 Tushare 반환 팬더, NumPy와,하기 matplotlib와 DataFrame 유형, 매우 쉽게 데이터 분석 및 시각화 팬더입니다.
AI 양적 무역 (2 개) - Tushare 금융 데이터 프레임

2, Tushare 설치

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

pip install tushare lxml
pip install beautifulsoup4

3, Token 생성

토큰 계정을 등록하고 생성하는 Tushare 사용이 필요합니다.
: 내가 등록 링크를 초대 https://tushare.pro/register?reg=306303
성공적으로 등록, 로그인 Tushare, 개인 설정을 클릭하십시오
AI 양적 무역 (2 개) - 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 또한 블록 체인에 관한 기본 데이터, 거시 경제 시장 데이터, 뉴스 공지를 제공하는 세 가지 인터페이스의 종류뿐만 아니라시나 금융, 이스트 포춘, 세척, 클라우드 금융, 지식과 다른 월스트리트 금융 웹 사이트, 외환하는 주식 블록 체인 등 미국 주식, 석유, 금, 금 외환, 홍콩 주식, 상품, 채권, 기업, 시장 초점, 중앙 은행 및 뉴스 같은 다른 금융 정보를 제공합니다.
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)

기업 공개 (IPO)는 데이터의 목록을

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)

매일 16시부터 15시까지 사이에 일을 무역. 이 포트는 서스펜션 동안 데이터를 제공하지 않습니다, 바로 다시 시장에 없습니다.

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)

주간 GET-주 시장

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)

A-주 월별 데이터를 가져옵니다.

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)

A는 주파수 "주파수"에 체크 무게 매개 변수 "조정", 평균 매개 변수를 "엄마", 파라미터 데이터와 함께, 단위 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)

보너스 분포 데이터.

편지 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)

상장 기업의 편지의 성능을 가져옵니다.

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 : 과학 수사대
SSE : 상하이 증권 거래소 인덱스
SZSE : 심천 증권 거래소 지수
CICC : 인덱스 금
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)

상하이 증권 거래소를 포함하여 매일 트랜잭션 데이터를 통해 획득 한 홍콩 주식, 심천 데이터를 설명.

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, 10 대 주주

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, 상위 10 거래 가능한 주주

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, 빌보드 매일 세부 사항

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)

매일 거래 내역 빌보드, 가장 큰 단일 10000 사용자는 최소 300 포인트를 검색 할 수 있어야합니다.

7, 빌보드 기관 거래 정보

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)

빌보드 기관의 거래 내역은, 가장 큰 단일 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)

블록 5,000 개 이상의 지점 무제한 분당 배의 수를 제한하는 데 걸리는 300 점 조정 총량을 제한하지 않는, 가장 큰 단일 1000, 거래.

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 점을 조정 주식 계좌 개설 데이터를 1 주일의 통계 기간을 가져옵니다.

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)는 통합의 5,000 개 이상의 적분 무제한 분당 100 회, 기반 검색을 수행하는 조정이 한정되지 않는다.

추천

출처blog.51cto.com/9291927/2450913