All Projects → mlouielu → Twstock

mlouielu / Twstock

Licence: mit
台灣股市股票價格擷取 (含即時股票資訊) - Taiwan Stock Opendata with realtime

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Twstock

FinanceCenter
Fetching Financial Data (US/China)
Stars: ✭ 26 (-96.59%)
Mutual labels:  finance, stock
trading sim
📈📆 Backtest trading strategies concurrently using historical chart data from various financial exchanges.
Stars: ✭ 21 (-97.25%)
Mutual labels:  finance, stock
stocklist
Stock data collection and analysis
Stars: ✭ 27 (-96.46%)
Mutual labels:  finance, stock
pinance
Python module(s) to get stock data, options data and news.
Stars: ✭ 70 (-90.83%)
Mutual labels:  finance, stock
Alpha vantage
A python wrapper for Alpha Vantage API for financial data.
Stars: ✭ 3,553 (+365.66%)
Mutual labels:  finance, stock
stock-market-scraper
Scraps historical stock market data from Yahoo Finance (https://finance.yahoo.com/)
Stars: ✭ 110 (-85.58%)
Mutual labels:  finance, stock
IEX CPP API
Unofficial C++ Lib for the IEXtrading API
Stars: ✭ 34 (-95.54%)
Mutual labels:  finance, stock
ark-invest-api
📈 API for tracking holdings and trades of ARK Invest funds
Stars: ✭ 49 (-93.58%)
Mutual labels:  finance, stock
Klinechart
📈Lightweight k-line chart that can be highly customized. Zero dependencies. Support mobile.(可高度自定义的轻量级k线图,无第三方依赖,支持移动端)
Stars: ✭ 303 (-60.29%)
Mutual labels:  finance, stock
AIPortfolio
Use AI to generate a optimized stock portfolio
Stars: ✭ 28 (-96.33%)
Mutual labels:  finance, stock
Beibo
🤖 Predict the stock market with AI 用AI预测股票市场
Stars: ✭ 46 (-93.97%)
Mutual labels:  finance, stock
Grs
📈 台灣上市上櫃股票價格擷取(Fetch Taiwan Stock Exchange data)含即時盤、台灣時間轉換、開休市判斷。
Stars: ✭ 405 (-46.92%)
Mutual labels:  finance, stock
open-climate-investing
Application and data for analyzing and structuring portfolios for climate investing.
Stars: ✭ 20 (-97.38%)
Mutual labels:  finance, stock
akshare
AKShare is an elegant and simple financial data interface library for Python, built for human beings! 开源财经数据接口库
Stars: ✭ 5,155 (+575.62%)
Mutual labels:  finance, stock
pybacen
This library was developed for economic analysis in the Brazilian scenario (Investments, micro and macroeconomic indicators)
Stars: ✭ 40 (-94.76%)
Mutual labels:  finance, stock
stocki
The CLI for fetching stock market data
Stars: ✭ 32 (-95.81%)
Mutual labels:  finance, stock
pystockfilter
Financial technical and fundamental analysis indicator library for pystockdb.
Stars: ✭ 26 (-96.59%)
Mutual labels:  finance, stock
web trader
📊 Python Flask game that consolidates data from Nasdaq, allowing the user to practice buying and selling stocks.
Stars: ✭ 21 (-97.25%)
Mutual labels:  finance, stock
technical-indicators
Finance package written in Golang, mainly with TA indicators.
Stars: ✭ 56 (-92.66%)
Mutual labels:  finance, stock
Akshare
AKShare is an elegant and simple financial data interface library for Python, built for human beings! 开源财经数据接口库
Stars: ✭ 4,334 (+468.02%)
Mutual labels:  finance, stock

Travis Build Status Appveyor Build Status Coverage Status PyPI version Documentation Status

有任何問題歡迎透過 Gitter.im 詢問。

twstock 台灣股市股票價格擷取

擷取台灣證券交易所之股價資料 重新製作 toomore/grs 之功能

資料來源:

(請注意,TWSE 有 request limit, 每 5 秒鐘 3 個 request,超過的話會被 ban 掉,請自行注意)

Documentation

Requirements

  • Python 3
  • lxml
  • requests

Install

By PyPi

$ python -m pip install --user twstock

By Source

$ git clone https://github.com/mlouielu/twstock
$ cd twstock
$ pipenv install

By Source & install

$ git clone https://github.com/mlouielu/twstock
$ cd twstock
$ python -m pip install --user flit
$ flit install

CLI Tools

$ twstock -b 2330 6223
四大買賣點判斷 Best Four Point
------------------------------
2330: Buy   量大收紅
6223: Sell  量縮價跌, 三日均價小於六日均價
$ twstock -s 2330 6223
-------------- 2330 ----------------
high : 215.0 214.0 210.0 210.5 208.5
low  : 212.0 211.0 208.0 208.5 206.5
price: 215.0 211.5 208.5 210.0 208.5
-------------- 2337 ----------------
high :  16.2  16.8  16.4 16.75 16.75
low  :  15.8  16.1 15.15  16.3 16.25
price: 15.95 16.25 16.25  16.6  16.7

Update Codes

當你第一次使用 twstock 時,你可以更新 TPEX 跟 TWSE 的列表,可以使用兩種方式更新:

  • By CLI
$ twstock -U
Start to update codes
Done!
  • By Python
>>> import twstock
>>> twstock.__update_codes()

Quick Start

分析計算

from twstock import Stock

stock = Stock('2330')                             # 擷取台積電股價
ma_p = stock.moving_average(stock.price, 5)       # 計算五日均價
ma_c = stock.moving_average(stock.capacity, 5)    # 計算五日均量
ma_p_cont = stock.continuous(ma_p)                # 計算五日均價持續天數
ma_br = stock.ma_bias_ratio(5, 10)                # 計算五日、十日乖離值

擷取自 2015 年 1 月至今之資料

stock = Stock('2330')
stock.fetch_from(2015, 1)

基本資料之使用

>>> stock = Stock('2330')
>>> stock.price
[203.5, 203.0, 205.0, 205.0, 205.5, 207.0, 207.0, 203.0, 207.0, 209.0, 209.0, 212.0, 210.5, 211.5, 213.0, 212.0, 207.5, 208.0, 207.0, 208.0, 211.5, 213.0, 216.5, 215.5, 218.0, 217.0, 215.0, 211.5, 208.5, 210.0, 208.5]
>>> stock.capacity
[22490217, 17163108, 17419705, 23028298, 18307715, 26088748, 32976727, 67935145, 29623649, 23265323, 1535230, 22545164, 15382025, 34729326, 21654488, 35190159, 63111746, 49983303, 39083899, 19486457, 32856536, 17489571, 28784100, 45384482, 26094649, 39686091, 60140797, 44504785, 52273921, 27049234, 31709978]
>>> stock.data[0]
Data(date=datetime.datetime(2017, 5, 18, 0, 0), capacity=22490217, turnover=4559780051, open=202.5, high=204.0, low=201.5, close=203.5, change=-0.5, transaction=6983)

台股證券編碼

>>> import twstock
>>> print(twstock.codes)                # 列印台股全部證券編碼資料
>>> print(twstock.codes['2330'])        # 列印 2330 證券編碼資料
StockCodeInfo(type='股票', code='2330', name='台積電', ISIN='TW0002330008', start='1994/09/05', market='上市', group='半導體業', CFI='ESVUFR')
>>> print(twstock.codes['2330'].name)   # 列印 2330 證券名稱
'台積電'
>>> print(twstock.codes['2330'].start)  # 列印 2330 證券上市日期
'1994/09/05'

使用 Proxy (基於 requests proxies)

# 單一 Proxy
>>> from twstock.proxy import SingleProxyProvider
>>> spr = SingleProxyProvider({'http': 'http://localhost:8080'})
>>> twstock.proxy.configure_proxy_provider(spr)

# 多個 Proxy
>>> from twstock.proxy import RoundRobinProxiesProvider
>>> proxies = [{'http': 'http://localhost:5000'}, {'http': 'http://localhost:5001'}]
>>> rrpr = RoundRobinProxiesProvider(proxies)
>>> twstock.proxy.configure_proxy_provider(rrpr)

# 變更 Proxy 表
>>> another_proxies = [{'http': 'http://localhost:8000'}, {'https': 'https://localhost:8001'}]
>>> rrpr.proxies = another_proxies

四大買賣點分析

from twstock import Stock
from twstock import BestFourPoint

stock = Stock('2330')
bfp = BestFourPoint(stock)

bfp.best_four_point_to_buy()    # 判斷是否為四大買點
bfp.best_four_point_to_sell()   # 判斷是否為四大賣點
bfp.best_four_point()           # 綜合判斷

即時股票資訊查詢

import twstock

twstock.realtime.get('2330')    # 擷取當前台積電股票資訊
twstock.realtime.get(['2330', '2337', '2409'])  # 擷取當前三檔資訊

使用範例

Contributing

twstock was created by Louie Lu <[email protected]>.

Contributing were welcome, please use GitHub issue and Pull Request to contribute!

歡迎協作,請使用 GitHub issue 以及 Pull Request 功能來協作。

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].