Skip to content

Repository files navigation

English | 中文

yfinWatchdroid

股票監控 Android 應用程式 — 支援全球股市指數、個股報價、K線技術圖表(含 KD/KDJ)、價格提醒。數據來源:Yahoo Finance(報價+K線+財務指標)+ Finnhub(可選財務補充)。 請注意Yahoo財經的市價指標通常會遲延15到20分鐘。資料僅供參考,不得用作任何投資決策之基礎。數據僅供參考,不應作為任何投資決策的依據。

Stock monitoring Android app — global market indices, stock quotes, candlestick charts with technical indicators (KD/KDJ), price alerts. Data sources: Yahoo Finance (quotes + K-line + fundamental data) + Finnhub (optional financial supplements). Please note that Yahoo Finance quotes are typically delayed by 15 to 20 minutes. Data is for reference only and should not be used as a basis for any investment decisions. Data is for reference only and should not be used as a basis for any investment decisions.


📱 安裝 Installation

1. 下載 APK Download APK

從 Releases 下載最新 yfinWatchdroid-v1.2.0-release.apk 或直接從專案根目錄取得。

Download the latest yfinWatchdroid-v1.2.0-release.apk from Releases or the project root.

2. 安裝 Install

Android 手機 Phone:

  1. 將 APK 傳到手機 Transfer APK to your phone (USB / AirDrop / cloud)
  2. 在檔案管理器點擊 APK Tap the APK in file manager
  3. 如出現安全性提示,允許「安裝未知來源的應用」Allow "Install unknown apps" if prompted
  4. 點擊「安裝」Tap "Install"

需求 Requirements: Android 8.0+ (API 26)

3. 首次啟動 First Launch

  1. 閱讀並同意「使用協議與免責聲明」Read and accept the Terms of Service
  2. 預設顯示 全球主要股市指數 Default view shows Global Market Indices
  3. 點擊右下角 + 添加自選股票 Tap + to add stocks to watchlist

4. 設定 Yahoo Cookie(推薦)

為取得完整的財務指標(PE、ROE、EPS 等),需在設定中輸入 Yahoo Cookie:

To get complete fundamental data (PE, ROE, EPS, etc.), you need to set up Yahoo Cookie in Settings:

  1. 在 PC Chrome 瀏覽器上安裝 Cookie Editor 插件
  2. 前往 finance.yahoo.com 並登入(免費帳號即可)
  3. 點擊 Cookie Editor 圖示,搜尋 A3GUC 兩個 cookie 的值
  4. 複製 A3GUC 的值,回到 App → 設定 → API 設定 → Yahoo Cookie
  5. 貼上後點擊「儲存」並驗證連線

注意 Note: 更換 PC 瀏覽器或清除 Cookie 後需重新設定。


🗺️ 功能導覽 Feature Guide

主要頁面 Main Screens

頁面 Screen 說明 Description
全球指數 Global Indices 主要股市指數列表,返回前台時自動刷新 Market indices, auto-refresh on resume
觀測清單 Watchlist 自訂股票列表,可建立多個清單(最多 8 個),支援拖曳排序 Custom stock lists with tabs (up to 8), drag-and-drop reorder
個股詳情 Stock Detail 即時報價、K線技術圖表(含 KD/KDJ)、關鍵財務指標、相關新聞 Real-time quotes, candlestick chart with KD/KDJ, key financial metrics, related news
價格提醒 Price Alerts 設定到價通知 Set price alert notifications

個股詳情頁面 Stock Detail Page

進入任一股票詳情頁,可以看到以下內容:

When you open a stock detail page, you can see:

報價資訊 Quote Info

項目 Item 說明 Description
市值 Market Cap 公司總市值 Company total market capitalization
成交量 Volume 今日成交股數 Number of shares traded today
52週高/低 52W High/Low 過去一年最高/最低價 Highest/lowerst price in past year
今日高/低 Day High/Low 今日盤中高/低價 Highest/lowerst price today
開盤/昨收 Open/Prev Close 今日開盤價/昨日收盤價 Today's open / yesterday's close
本益比 P/E Ratio 股價除以每股盈餘 Price divided by earnings per share
殖利率 Dividend Yield 年度股息佔股價百分比 Annual dividend as percentage of stock price
β值 Beta 波動率相對於大盤 Volatility relative to market

關鍵財務指標 Key Financial Metrics

需要設定 Yahoo Cookie 才能顯示完整資料。

估值指標 Valuation Metrics
指標 Metric 說明 Description
本益比 Trailing PE 過去 12 個月盈餘計算的本益比 PE based on trailing 12 months
預期本益比 Forward PE 未來 12 個月預估本益比 Projected PE for next 12 months
PEG Ratio 本益比成長比率 PE divided by earnings growth rate
股價淨值比 P/B 股價除以每股帳面價值 Price to book value per share
EV/EBITDA 企業價值除以稅息折舊攤銷前利潤 Enterprise value to EBITDA
獲利指標 Profitability Metrics
指標 Metric 說明 Description
EPS 每股盈餘 Earnings per share
ROE 股東權益報酬率 Return on equity
ROA 資產報酬率 Return on assets
營業利率 Operating Margin 營業利益佔營收比重 Operating profit margin
淨利率 Profit Margin 稅後淨利佔營收比重 Net profit margin
毛利率 Gross Margin 毛利佔營收比重 Gross profit margin
現金流與風險 Cash Flow & Risk Metrics
指標 Metric 說明 Description
殖利率 Dividend Yield 年度股息佔股價百分比 Annual dividend yield
β值 Beta 相對大盤的波動係數 Volatility vs. market index
做空比例 Short % of Float 做空股數佔流通股本比例 Shares shorted as % of float
速動比率 Quick Ratio 流動資產減存貨後除以流動負債 Quick assets / current liabilities
分析師評等 Analyst Recommendations
指標 Metric 說明 Description
評等 Recommendation 分析師平均評等(強買→強賣)Analyst consensus rating
目標均價 Target Mean Price 分析師預估平均目標價 Analyst average target price
目標中位價 Target Median Price 分析師預估中位目標價 Analyst median target price
分析師數 Analyst Count 提供評等的分析師數量 Number of analysts covering
機構持股 Institutional Holding 機構投資者持有的股份百分比 Institutional ownership %
內部持股 Insider Holding 公司內部人員持有的股份百分比 Insider ownership %
52 週區間位置 52-Week Position

顯示目前股價在過去一年區間中的位置(高/低/中),幫助判斷相對高低。

Shows where the current price sits within the 52-week range — high, low, or mid — for relative valuation context.

現金流 Cash Flow
指標 Metric 說明 Description
自由現金流 Free Cash Flow 營業現金流減資本支出 Free cash generated after capex
營業現金流 Operating Cash Flow 營運產生的現金流 Cash flow from operations
FCF 殖利率 FCF Yield 自由現金流除以市值 FCF as % of market cap
FCF 股利覆蓋率 FCF Coverage 自由現金流除以股息的倍數 How many times FCF covers dividends
營收與成長 Revenue & Growth
指標 Metric 說明 Description
總營收 Total Revenue 過去 12 個月總營收 Total revenue for trailing 12 months
總負債 Total Debt 公司總負債額 Total debt outstanding
總現金 Total Cash 公司現金及等價物 Total cash and equivalents
盈餘成長 Earnings Growth 盈餘年增長率 Year-over-year earnings growth
營收成長 Revenue Growth 營收年增長率 Year-over-year revenue growth

技術指標 Technical Indicators

  • KD 指標:包含 K 值、D 值、J 值
  • 超買/超賣訊號:J > 90 極超買、J < -90 極超賣
  • K線圖:支援日線 / 週線 / 月線,可切換橫向全螢幕檢視

相關新聞 Related News

顯示該股票的最新新聞摘要,連結至原始新聞來源。

Latest news summary for the stock, with links to original articles.

支援的語言 Supported Languages

語言 Language 代碼 Code
繁體中文 Traditional Chinese zh-TW
简体中文 Simplified Chinese zh-CN
English en
日本語 Japanese ja
한국어 Korean ko
Español Spanish es

首次啟動自動偵測系統語言,超出上述語言預設英文。

First launch auto-detects system language; defaults to English for unsupported languages.

主題切換 Theme Modes

  • 跟隨系統 Follow System — 自動切換 Auto-switch
  • 淺色主題 Light Theme
  • 淺色主題 2 Light Theme 2 — 柔和商業亮色模式 Softer business light mode
  • 深色主題 Dark Theme
  • 深色主題 2 Dark Theme 2 — 邊框輕強化暗黑模式 Subtle border-enhanced dark mode

在設定中切換 (🔧 圖示) Change in Settings (🔧 icon).

字體設定 Font Settings

在設定頁面可自訂字體顯示效果:

設定 說明
自訂字體 選擇本地 .ttf / .otf 字體檔案
字體大小 8 段:極小 / 小 / 偏小 / 中 / 大 / 極大 / 特大 / 超大
粗體 開啟/關閉
斜體 開啟/關閉
預覽 即時預覽設定效果

字體格式注意:若要支援粗體/斜體動態調整,建議使用可變字體(Variable Font)。單一字體檔可能無法正確顯示粗細或傾斜效果。可變字體在檔案名稱中通常標示為 "Variable"。


📊 如何使用 How to Use

添加股票 Add Stocks to Watchlist

  1. 進入「我的觀測清單」Go to My Watchlist
  2. 點擊右下角 + 按鈕 Tap the + FAB
  3. 輸入股票代碼 Enter symbol (e.g., AAPL, TSLA, 0700.HK, 2330.TW)
  4. 從建議清單選擇或直接確認 Select from suggestions or confirm

管理多個觀測清單 Manage Multiple Watchlists

  1. 在 Watchlist 頁面點擊 LibraryAdd 圖示 Tap LibraryAdd icon
  2. 輸入新清單名稱 Enter new list name
  3. 長按清單標籤可重新命名 Long-press tab to rename
  4. 拖曳股票項目可調整順序 Drag items to reorder
  5. 最多可建立 8 個清單 Up to 8 lists supported

檢視 K 線圖 View Candlestick Chart

  1. 點擊任一股票進入詳情頁 Tap any stock to open Detail
  2. 選擇時間範圍 (1D/5D/1M/3M/6M/1Y) Select time range
  3. 點擊全螢幕圖示 (⛶) 橫向檢視 Tap fullscreen icon for landscape mode
  4. 可切換日線/週線/月線 Switch between daily/weekly/monthly

設定價格提醒 Set Price Alerts

  1. 從主頁點擊 🔔 圖示 Tap 🔔 icon on main page
  2. 點擊 + 新增提醒 Tap + to add alert
  3. 設定目標價格和條件(高於/低於)Set target price and condition (above/below)

設定 Yahoo Cookie(取得完整財務指標)

  1. 進入設定頁 Go to Settings
  2. 點擊「Yahoo Cookie」選項 Tap "Yahoo Cookie"
  3. 按照提示取得 A3 和 GUC cookie 值 Follow prompts to get A3 and GUC values
  4. 貼上後點擊「儲存」並驗證 Paste values, tap Save and verify connection

設定 Finnhub API Key(可選)

Finnhub 用於補充 Yahoo Finance 無法取得的財務指標,非必需。

Finnhub supplements Yahoo Finance data for certain financial metrics — optional.

  1. 前往 https://finnhub.io
  2. 點擊 "Get free API key"
  3. 註冊並驗證郵箱 Register and verify email
  4. 複製 API Key,回到 App → 設定 → API 設定 → Finnhub API Key
  5. 貼上並儲存 Paste and save

免費方案限制 Free plan limits: 60 requests/minute


🛠️ 從原始碼建置 Build from Source

環境需求 Prerequisites

工具 Tool 版本 Version
JDK 17+
Android SDK 35 (compileSdk)
Gradle 8.9 (wrapper)

建置步驟 Build Steps

# 1. 建置 Debug APK
./gradlew assembleDebug

# 2. 建置 Release APK (已簽名 signed)
./gradlew assembleRelease

# APK 位置 Output:
#   app/build/outputs/apk/debug/app-debug.apk
#   app/build/outputs/apk/release/app-release.apk

Release APK 使用專案內 app/yfinwatchdroid.keystore 簽名 Release APK is signed with app/yfinwatchdroid.keystore.


🔧 技術架構 Tech Stack

層 Layer 技術 Technology
語言 Language Kotlin
UI Jetpack Compose + Material3
架構 Architecture MVVM (ViewModel + StateFlow)
網絡 Networking HttpURLConnection + OkHttp + Retrofit
本地存儲 Storage DataStore Preferences + SharedPreferences
序列化 Serialization kotlinx.serialization
後台工作 Background WorkManager
最低版本 Min SDK Android 8.0 (API 26)

資料來源 Data Sources

  • Yahoo Finance — 即時報價、K線歷史、關鍵財務指標、相關新聞(需要 Yahoo Cookie 取得完整財務資料)
  • Finnhub — 補充財務指標(PE、ROE、EPS 等,可選)
  • Yahoo Finance API — K線圖歷史數據

📁 專案結構 Project Structure

yfinWatchdroid/
├── app/
│   ├── src/main/
│   │   ├── java/com/yfinwatchdroid/app/
│   │   │   ├── MainActivity.kt        # 主入口,語系/主題處理
│   │   │   ├── ui/
│   │   │   │   ├── screen/            # 頁面 Screen composables
│   │   │   │   ├── component/         # 共用元件 Shared components
│   │   │   │   └── theme/             # 主題 Theme
│   │   │   ├── viewmodel/             # ViewModel 層
│   │   │   ├── data/                  # 數據層 (API, Repository, Model)
│   │   │   ├── navigation/            # 導航 Navigation
│   │   │   ├── service/               # 背景服務 Background services
│   │   │   └── util/                  # 工具 Utilities
│   │   ├── res/
│   │   │   ├── values/                # 繁體中文資源
│   │   │   ├── values-zh-rCN/         # 簡體中文
│   │   │   ├── values-en/             # 英文 English
│   │   │   ├── values-ja/             # 日本語
│   │   │   ├── values-ko/             # 한국어
│   │   │   └── values-es/             # Español
│   │   └── AndroidManifest.xml
│   └── build.gradle.kts
├── build.gradle.kts
├── settings.gradle.kts
├── gradle.properties
├── gradle/libs.versions.toml
├── LICENSE.md
├── README.md                 ← 你正在看 You are here
└── README_en.md

📄 授權 License

本專案採用 MIT 授權,詳見 LICENSE.md

免責聲明 Disclaimer: 本程式提供的金融數據僅供參考,不構成投資建議。投資有風險,請自行判斷。

This project is licensed under MIT. See LICENSE.md.

Disclaimer: Financial data provided by this app is for reference only and does not constitute investment advice. Investing involves risk; make your own decisions.


Made with ❤️ for stock enthusiasts

About

Stock monitoring Android app — global market indices, stock quotes, candlestick charts with technical indicators (KD/KDJ), price alerts. **Data sources: Yahoo Finance (quotes + K-line + fundamental data) + Finnhub (optional financial supplements).** **Please note that Yahoo Finance quotes are typically delayed by 15 to 20 minutes.**

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages