• Stars
    star
    1,049
  • Rank 43,923 (Top 0.9 %)
  • Language
    Python
  • License
    MIT License
  • Created over 7 years ago
  • Updated about 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

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

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 功能來協作。

More Repositories

1

cn_constitution_2018

2018-02-25 中国共产党中央委员会关于修改宪法部分内容的建议
538
star
2

iota-python

A Pure-Python implementation of IOTA node
Python
31
star
3

linker_script_vma_lma_example

Makefile
18
star
4

iota-mnemonic

Generate, restore IOTA seed from Bitcoin BIP39 mnemonic
Python
17
star
5

twaddress

台灣地址中翻英 - Taiwan Address Chinese To English
Python
17
star
6

gopro-gpx-utils

Get the GPX from GoPro Hero 6/5
Python
16
star
7

stocker

CSS
15
star
8

nand2vm

nand2vm - pure python implement of nand2tetris Hack platform
Assembly
10
star
9

Taiwan-Radio-Frequency-Allocations-Spectrum

Taiwan Radio Frequency Allocations Spectrum - 台灣無線電頻率分配表
Python
8
star
10

wgs84conv

Accurate Conversion of Earth-Fixed Earth-CenteredCoordinates to Geodetic Coordinates (ecef2lla/lla2ecef) with Python bindings
C++
6
star
11

raises-stackoverflow

Raises' in the source code, all's right with the Stack Overflow
Python
4
star
12

awesome-cli

So Awesome. Awesome CLI view & search
Python
4
star
13

python-linux-distro-list

Provide Python version in each Linux distros
Python
4
star
14

iota-pearldiver

IOTA transaction nonce searcher in Python implement
Python
4
star
15

feidee2beancount

Feidee export to beancount / 隨手記導入至 beancount
Python
3
star
16

smspolicetaiwan

台灣警察簡訊報案 (自動帶入區域電話號碼)
HTML
3
star
17

nctulib

A Python wapper API for NCTU library search
JavaScript
3
star
18

e3dump

One click download course materials from NCTU e3
Python
2
star
19

hackmd-changed-notify

Notify if there have changed in HackMD (with special format)
Python
2
star
20

taiwan-buses-insurance-list

Taiwan Buses Insurance List - 台灣遊覽車投保一覽表
Python
1
star
21

python-string-format-microperformance

Micro-performance measure of Python string format
Python
1
star
22

bf_to_py

A translator for Brainfu*k to Python Code
Brainfuck
1
star
23

tauri-origin-test-app

Test for tauri origin (CORS)
Vue
1
star
24

t7b-incident

台7乙事故資料 2014 ~ 2017
JavaScript
1
star
25

mvdis

MVDIS - 監理服務網
Python
1
star
26

iota-milestone-monitor

Monitor of IOTA milestone status
HTML
1
star
27

lder

程式設計師的自我修養 - 連結、載入、程式庫
C
1
star
28

fetchproxy

Python
1
star