Skip to content

Repository files navigation

yWatchlist โ€” ๆ™บๆ…ง่‡ช้ธ่‚ก็ฎก็†ๅ™จ

็พไปฃๅŒ–่ทจๅนณๅฐๆกŒ้ข่‡ช้ธ่‚ก็ฎก็†ๅทฅๅ…ท๏ผŒๆ”ฏๆด่‚ก็ฅจใ€ๆŒ‡ๆ•ธใ€ETFใ€ๅค–ๅŒฏใ€ๅŠ ๅฏ†่ฒจๅนฃใ€‚ๆŽก็”จ Tauri 2.x + React 18 + TypeScript ๅปบๆง‹๏ผŒๅ…งๅปบๅฐˆๆฅญ K ็ทšๅœ–ใ€ๅƒนๆ ผๆ้†’ใ€ๅคš่ชž็ณปๅŠไน็จฎไธป้กŒใ€‚

โš ๏ธ ๅ…่ฒฌ่ฒๆ˜Ž๏ผš Yahoo Finance ๅ ฑๅƒน้€šๅธธๅปถ้ฒ 15 ่‡ณ 20 ๅˆ†้˜ใ€‚่ณ‡ๆ–™ๅƒ…ไพ›ๅƒ่€ƒ๏ผŒไธๆ‡‰ไฝœ็‚บไปปไฝ•ๆŠ•่ณ‡ๆฑบ็ญ–ไน‹ไพๆ“šใ€‚


๐ŸŒ ่ชž่จ€ๅˆ‡ๆ› / Language Switch

็น้ซ”ไธญๆ–‡ English

็›ฎ้Œ„


ๅŠŸ่ƒฝ็ธฝ่ฆฝ

ๅŠŸ่ƒฝ ่ชชๆ˜Ž
๐Ÿ“‹ ๅคšๆธ…ๅ–ฎ็ฎก็† ๅปบ็ซ‹ใ€้‡ๆ–ฐๅ‘ฝๅใ€ๅˆช้™คใ€ๆ•ด็†็„ก้™ๅ€‹่‡ช้ธ่‚กๆธ…ๅ–ฎ
๐Ÿ’น ๅปถ้ฒๅ ฑๅƒน Yahoo Finance ๅณๆ™‚ๅ ฑๅƒน๏ผŒๆ”ฏๆด่‡ชๅ‹•/ๆ‰‹ๅ‹•ๆ›ดๆ–ฐ
๐Ÿ•ฏ๏ธ K ็ทšๅœ– ๅฐˆๆฅญ่ Ÿ็‡ญๅœ–๏ผŒๆ”ฏๆดๅ‡็ทšใ€KDใ€MACD ๆŒ‡ๆจ™
๐Ÿ“Š ๅŸบๆœฌ้ขๅˆ†ๆž 30+ ่ฒกๅ‹™ๆŒ‡ๆจ™๏ผŒๆถต่“‹ไธƒๅคง้กžๅˆฅ
๐Ÿ”” ๅƒนๆ ผๆ้†’ ้ซ˜/ไฝŽๅƒนๆ้†’๏ผŒ่งธ็™ผๆ™‚็™ผ้€ Windows ็ณป็ตฑ้€š็Ÿฅ
๐Ÿ” ๆ™บๆ…งๆœๅฐ‹ ้›ข็ทšๆœฌๅœฐ็ดขๅผ• + Yahoo ็ทšไธŠๆœๅฐ‹้›™้‡ๅ‚™ๆด
๐ŸŽจ ไน็จฎไธป้กŒ Darkใ€Oceanใ€Forestใ€Sunsetใ€Neonใ€Elegantใ€Frosted Purple/Blue/Cyan
๐ŸŒ ๅ…ญ็จฎ่ชž่จ€ ็น้ซ”ไธญๆ–‡ใ€็ฐก้ซ”ไธญๆ–‡ใ€Englishใ€ๆ—ฅๆœฌ่ชžใ€ํ•œ๊ตญ์–ดใ€Espaรฑol
โŒจ๏ธ ๅฟซๆท้ต Ctrl+K ็ซ‹ๅณ้–‹ๅ•Ÿๆœๅฐ‹

็ณป็ตฑ้œ€ๆฑ‚

  • ไฝœๆฅญ็ณป็ตฑ๏ผš Windows 10 / 11๏ผˆ64 ไฝๅ…ƒ๏ผ‰
  • WebView2๏ผš Windows 10/11 ๅทฒๅ…งๅปบ๏ผ›่‹ฅ็„ก่ซ‹ๅพž Microsoft ๅฎ˜ๆ–น ไธ‹่ผ‰ๅฎ‰่ฃ

๐Ÿš€ ไธ‹่ผ‰ๅฎ‰่ฃ๏ผˆๆŽจ่–ฆ๏ผ‰

็›ดๆŽฅไธ‹่ผ‰ Releases ไธญ็š„ yWatchlist_1.0.1_x64-setup.exe๏ผŒๅŸท่กŒๅณๅฏ๏ผŒ็„ก้œ€ๅ…ถไป–ๆช”ๆกˆใ€‚


๐Ÿ”ง ๅพžๆบ็ขผๅปบ็ฝฎ๏ผˆ้–‹็™ผ่€…๏ผ‰

ๅฟ…่ฆๆขไปถ

  • Node.js๏ผš v18 ไปฅไธŠ
  • Rust ๅทฅๅ…ท้ˆ๏ผš ๅปบ่ญฐไฝฟ็”จ rustup

ๆญฅ้ฉŸ

  1. Clone ๅฐˆๆกˆ
git clone https://github.com/aneterw/yWatchlist.git
  1. ไธ‹่ผ‰ Python ้‹่กŒๆ™‚ ๅพž Releases ไธ‹่ผ‰ python-embed-full.zip๏ผŒ่งฃๅฃ“็ธฎๅˆฐๅฐˆๆกˆๆ น็›ฎ้Œ„๏ผš
yWatchlist/
โ”œโ”€โ”€ python-embed-full/   โ† ่งฃๅฃ“็ธฎๅˆฐ้€™่ฃก
โ”œโ”€โ”€ src/
โ”œโ”€โ”€ src-tauri/
โ””โ”€โ”€ ...
  1. ๅฎ‰่ฃๅ‰็ซฏ็›ธไพๅฅ—ไปถ
npm install
  1. ๅŸท่กŒๆˆ–ๅปบ็ฝฎ
# ้–‹็™ผๆจกๅผ
npm run tauri dev

# ๅปบ็ฝฎ็™ผๅธƒ็‰ˆๆœฌ
npm run tauri build

ๅฟซ้€Ÿ้–‹ๅง‹

1. ๅฎ‰่ฃ็›ธไพๅฅ—ไปถ๏ผšnpm install
2. ๅ•Ÿๅ‹•ๆ‡‰็”จ็จ‹ๅผ๏ผšnpm run tauri dev
3. ๅทฆๅด้‚Šๆฌ„้ ่จญ้กฏ็คบใ€ŒGlobal Indicesใ€ๅ…จ็ƒๆŒ‡ๆ•ธๆธ…ๅ–ฎ
4. ้ปžๆ“Šใ€ŒRefresh Currentใ€ๆ‰‹ๅ‹•ๆ›ดๆ–ฐ๏ผŒๆˆ–็ญ‰ๅพ…ๆฏ 10 ๅˆ†้˜่‡ชๅ‹•ๆ›ดๆ–ฐ
5. ้›™ๆ“Šไปปไธ€ๅ•†ๅ“๏ผŒ้–‹ๅ•Ÿๅฐˆๆฅญ K ็ทšๅœ–
6. ้ปžๆ“Š ๐Ÿ“ˆ ๅœ–็คบ๏ผˆๆˆ–ๅณ้ต๏ผ‰๏ผŒ้–‹ๅ•ŸๅŸบๆœฌ้ขๅˆ†ๆž้ขๆฟ
7. ไฝฟ็”จ Ctrl+K ๆˆ–ๆœๅฐ‹ๆŒ‰้ˆ•๏ผŒๆ–ฐๅขžๆ–ฐ่‚ก็ฅจ่‡ณๆธ…ๅ–ฎ
8. ๅœจไธŠๆ–นๅทฅๅ…ทๅˆ—ๅˆ‡ๆ›ไธป้กŒใ€่ชž่จ€่ˆ‡ๅญ—ๅž‹

้ ่จญ่ง€ๅฏŸๆธ…ๅ–ฎ

ๆ‡‰็”จ็จ‹ๅผๅ•Ÿๅ‹•ๆ™‚่‡ชๅ‹•ๅปบ็ซ‹ๅ…ฉ็ต„้ ่จญๆธ…ๅ–ฎ๏ผš

ๆธ…ๅ–ฎๅ็จฑ ๅ…งๅฎน
Global Indices ้“็“Š (^DJI)ใ€ๆจ™ๆ™ฎ 500 (^GSPC)ใ€็ดๆ–ฏ้”ๅ…‹ (^IXIC)ใ€่ฒปๅŸŽๅŠๅฐŽ้ซ” (^SOX)ใ€ๅฐ็ฃๅŠ ๆฌŠ (^TWII)ใ€ไธŠๆตท่ญ‰ๅˆธ็ถœๅˆ (000001.SS)ใ€ๆทฑ่ญ‰ๆˆๅˆ† (399001.SZ)ใ€ๆ†็”Ÿ (^HSI)ใ€ๆ—ฅ็ถ“ 225 (^N225)ใ€้Ÿ“ๅœ‹ KOSPI (^KS11)ใ€ๆ–ฐๅŠ ๅก STI (^STI)ใ€ๅพทๅœ‹ DAX (^GDAXI)ใ€ๆณ•ๅœ‹ CAC 40 (^FCHI)ใ€่‹ฑๅœ‹ FTSE 100 (^FTSE)
Tech ETF QQQ๏ผˆ้‚ฃๆ–ฏ้”ๅ…‹ 100๏ผ‰ใ€VGT๏ผˆ็ง‘ๆŠ€ SPDR๏ผ‰

ๆ ธๅฟƒๅŠŸ่ƒฝ

่‡ช้ธ่‚ก็ฎก็†

  • ๅปบ็ซ‹ๆธ…ๅ–ฎ โ€” ้ปžๆ“Šๅทฆๅด้‚Šๆฌ„็š„ + ๆŒ‰้ˆ•
  • ้‡ๆ–ฐๅ‘ฝๅ โ€” ๆป‘้ผ ๆ‡ธๅœๆ–ผๆธ…ๅ–ฎๅ็จฑไธŠ๏ผŒ้ปžๆ“Š้‰›็ญ†ๅœ–็คบ
  • ๅˆช้™คๆธ…ๅ–ฎ โ€” ้ปžๆ“Šๅžƒๅœพๆกถๅœ–็คบ๏ผˆๆœƒๅฝˆๅ‡บ็ขบ่ชๅฐ่ฉฑๆก†๏ผ‰
  • ่ชฟๆ•ด้ †ๅบ โ€” ๆฏๅˆ—ๅณๅดๆœ‰ไธŠ็งป/ไธ‹็งป็ฎญ้ ญๆŒ‰้ˆ•
  • ็งป้™ค่‚ก็ฅจ โ€” ็ฌฌไธ€ๆฌก้ปžๆ“Š้ธไธญ๏ผŒๅ†ๆฌก้ปžๆ“Š็ขบ่ชๅˆช้™ค
  • ๆ–ฐๅขž่‚ก็ฅจ โ€” ้ปžๆ“Šใ€Œๆ–ฐๅขž่‚ก็ฅจใ€ๆŒ‰้ˆ•ใ€ๆœๅฐ‹ Modal๏ผŒๆˆ–ๆŒ‰ Ctrl+K

ๅ ฑๅƒน่ˆ‡่‡ชๅ‹•ๆ›ดๆ–ฐ

  • ๅ ฑๅƒน่ณ‡ๆ–™ไพ†ๆบ็‚บ Yahoo Finance๏ผŒ็ถ“็”ฑ Python ๅพŒ็ซฏๅ–ๅพ—
  • ๆฏ็ญ†ๅ ฑๅƒนๅŒ…ๅซ๏ผš็›ฎๅ‰ๅƒนๆ ผใ€ๆผฒ่ทŒ้ปžๆ•ธใ€ๆผฒ่ทŒๅน…็™พๅˆ†ๆฏ”ใ€ๆˆไบค้‡
  • ้ก่‰ฒๆ็คบ๏ผš็ถ ่‰ฒไปฃ่กจไธŠๆผฒใ€็ด…่‰ฒไปฃ่กจไธ‹่ทŒใ€็ฐ่‰ฒไปฃ่กจๆŒๅนณ
  • ่‡ชๅ‹•ๆ›ดๆ–ฐ้ ่จญ้–‹ๅ•Ÿ๏ผŒ้–“้š”ๅฏ่ชฟ๏ผš
    • ๆฏ 5 ๅˆ†้˜
    • ๆฏ 10 ๅˆ†้˜๏ผˆ้ ่จญ๏ผ‰
    • ๆฏ 30 ๅˆ†้˜
    • ๆฏ 60 ๅˆ†้˜
  • ้ปžๆ“ŠไธŠๆ–นๆ™‚้˜ๆŒ‰้ˆ•ๅฏ้–‹้—œ่‡ชๅ‹•ๆ›ดๆ–ฐ
  • ๆ‰‹ๅ‹•ๆ›ดๆ–ฐ้ธ้ …๏ผš
    • ๅˆทๆ–ฐ็›ฎๅ‰ๆธ…ๅ–ฎ โ€” ๅƒ…ๆ›ดๆ–ฐ็•ถๅ‰้ธๅ–็š„ๆธ…ๅ–ฎ
    • ๅˆทๆ–ฐๅ…จ้ƒจ โ€” ๆ›ดๆ–ฐๆ‰€ๆœ‰ๆธ…ๅ–ฎไธญ็š„ๆ‰€ๆœ‰่‚ก็ฅจ

ๅฐˆๆฅญ K ็ทšๅœ–

ๆ”ฏๆดๅ…ฉ็จฎ้–‹ๅ•Ÿๆ–นๅผ๏ผš้›™ๆ“Š่‚ก็ฅจ๏ผŒๆˆ–้ปžๆ“Š ๐Ÿ“Š ๅœ–็คบใ€‚

ๆ™‚้–“้€ฑๆœŸ๏ผš

้€ฑๆœŸ ่ณ‡ๆ–™็ฏ„ๅœ
ๆ—ฅ็ทš 2 ๅนด
้€ฑ็ทš 10 ๅนด
ๆœˆ็ทš 30 ๅนด

ๅœ–่กจ้กžๅž‹๏ผš

้กžๅž‹ ่ชชๆ˜Ž
่ Ÿ็‡ญๅœ– ็ด”่ Ÿ็‡ญๅœ– + ๆˆไบค้‡
ๅ‡็ทšๅœ– ่ Ÿ็‡ญๅœ– + 10 ๆ—ฅๅ‡็ทš
KD ๆŒ‡ๆจ™ ่ Ÿ็‡ญๅœ– + KDJ ๅ‰ฏๅœ–
MACD ่ Ÿ็‡ญๅœ– + MACD ๆŸฑ็‹€ๅœ–ใ€่จŠ่™Ÿ็ทšใ€MACD ็ทš

ๆ“ไฝœๆ–นๅผ๏ผš

  • ๆป‘้ผ ๆปพ่ผช็ธฎๆ”พ
  • ๆ‹–ๆ›ณๅนณ็งป
  • ๆธธๆจ™ๆ‡ธๅœ้กฏ็คบ OHLCV ่ˆ‡ๆŒ‡ๆจ™ๆ•ธๅ€ผ
  • ่‡ชๅ‹•้ฉๆ‡‰่ฆ–็ช—ๅคงๅฐ

ๅŸบๆœฌ้ขๅˆ†ๆž

ๅณ้ต้ปžๆ“Š่‚ก็ฅจ๏ผŒๆˆ–้ปžๆ“Š ๐Ÿ“ˆ ๅœ–็คบ้–‹ๅ•Ÿๅˆ†ๆž้ขๆฟใ€‚่ณ‡ๆ–™็”ฑ Yahoo Finance ้€้Ž Python ๅพŒ็ซฏๅ–ๅพ—ใ€‚

ๅ…ฌๅธ่ณ‡่จŠๅก็‰‡๏ผš

  • ๅ…ฌๅธๅ็จฑใ€ๆ‰€ๅฑฌ็”ขๆฅญ่ˆ‡็ดฐๅˆ†้ ˜ๅŸŸ
  • ็›ฎๅ‰ๅƒนๆ ผใ€ๆ˜จๆ”ถใ€ไปŠๆ—ฅ้ซ˜ไฝŽ้ปž
  • ๆˆไบค้‡ใ€ๅธ‚ๅ€ผใ€ๆœฌ็›Šๆฏ”ใ€ๆฎ–ๅˆฉ็އใ€52 ้€ฑ้ซ˜ไฝŽใ€Betaใ€EPS

ไธƒๅคงๆŒ‡ๆจ™้กžๅˆฅ๏ผˆ30+ ้ …ๆŒ‡ๆจ™๏ผ‰๏ผš

้กžๅˆฅ ๆŒ‡ๆจ™
ไผฐๅ€ผๆŒ‡ๆจ™ ๅธ‚ๅ€ผใ€้œๆ…‹ๆœฌ็›Šๆฏ”ใ€ๅ‹•ๆ…‹ๆœฌ็›Šๆฏ”ใ€PEGใ€่‚กๅƒนๆทจๅ€ผๆฏ”ใ€EV/EBITDA
็ฒๅˆฉๆŒ‡ๆจ™ EPSใ€ROEใ€ROAใ€ROICใ€็‡Ÿๆฅญๅˆฉๆฝค็އใ€ๅˆฉๆฝค็އ
ๆฎ–ๅˆฉ็އ่ˆ‡้ขจ้šช ๆฎ–ๅˆฉ็އใ€ฮฒ ๅ€ผใ€FCF ๆฎ–ๅˆฉ็އใ€้€Ÿๅ‹•ๆฏ”็އใ€ๆ”พ็ฉบๆฏ”ไพ‹
ๅˆ†ๆžๅธซ่ˆ‡ๆŒ่‚ก ็›ฎๆจ™ๅ‡ๅƒนใ€็›ฎๆจ™ไธญไฝๅƒนใ€ๅˆ†ๆžๅธซไบบๆ•ธใ€่ฉ•็ดšใ€ๅ…ง้ƒจไบบๆŒ่‚กใ€ๆฉŸๆง‹ๆŒ่‚ก
52 ้€ฑๅ€้–“ 52 ้€ฑๆœ€้ซ˜ใ€52 ้€ฑๆœ€ไฝŽใ€ๅ€้–“ไฝ็ฝฎ
็พ้‡‘ๆต ่‡ช็”ฑ็พ้‡‘ๆตใ€็‡Ÿๆฅญ็พ้‡‘ๆตใ€FCF ่‚กๅˆฉ่ฆ†่“‹็އ
็‡Ÿๆ”ถ่ˆ‡ๆˆ้•ท ็ธฝ็‡Ÿๆ”ถใ€็ธฝ่ฒ ๅ‚ตใ€็ธฝ็พ้‡‘ใ€็›ˆ้ค˜ๆˆ้•ท็އใ€็‡Ÿๆ”ถๆˆ้•ท็އ

่‚ก็ฅจๆ–ฐ่ž๏ผš ๆœ€ๆ–ฐๆ–ฐ่žๆจ™้กŒ๏ผŒๅซ็™ผๅธƒ่€…ใ€ๆ—ฅๆœŸ๏ผŒๅฏ้ปžๆ“Š้€ฃ็ต่ทณ่ฝ‰ๅŽŸๆ–‡ใ€‚

Cookie ๅŒๆ„่จญๅฎš๏ผš ๆไพ› Yahoo Finance Cookie ๅŒๆ„็ฎก็†ๅฐ่ฉฑๆก†ใ€‚

ๅƒนๆ ผๆ้†’

็‚บๆฏๆ”ฏ่‚ก็ฅจ่จญๅฎš้ซ˜ๅƒน่ˆ‡ไฝŽๅƒน้–€ๆชป๏ผš

  1. ้ปžๆ“Š่‚ก็ฅจๅˆ—ไธŠ็š„้ˆด้บๅœ–็คบ
  2. ่ผธๅ…ฅ้ซ˜ๅƒน้–€ๆชป๏ผˆๅƒนๆ ผ้ซ˜ๆ–ผๆญคๅ€ผๆ™‚้€š็Ÿฅ๏ผ‰ๆˆ–ไฝŽๅƒน้–€ๆชป๏ผˆๅƒนๆ ผไฝŽๆ–ผๆญคๅ€ผๆ™‚้€š็Ÿฅ๏ผ‰
  3. ๅ„ฒๅญ˜ โ€” ๆ้†’่จญๅฎšๆœƒ่ทจๆœƒ่ฉฑๆŒไน…ไฟๅญ˜

้€š็Ÿฅ่กŒ็‚บ๏ผš

  • ่งธ็™ผๆ™‚็™ผ้€ Windows ็ณป็ตฑ้€š็Ÿฅ๏ผˆ12 ็ง’่‡ชๅ‹•ๆถˆๅคฑ๏ผ‰
  • ๅทฒ่จญๅฎšๆ้†’็š„้ˆด้บ่ฎŠ็‚บ้ปƒ่‰ฒ
  • ๆ‡ธๅœ้ˆด้บๅฏๆŸฅ็œ‹็•ถๅ‰้–€ๆชป๏ผŒ่งธ็™ผๆ™‚้กฏ็คบ โœ“ ๅ‹พ่™Ÿ
  • ๅˆช้™คๆ้†’๏ผšๆ‡ธๅœ้ˆด้บๅพŒ้ปžๆ“Šๅžƒๅœพๆกถๅœ–็คบ

ๆ™บๆ…งๆœๅฐ‹

ๆŒ‰ Ctrl+K ๆˆ–้ปžๆ“Šๆœๅฐ‹ๆŒ‰้ˆ•้–‹ๅ•Ÿใ€‚

ๆœๅฐ‹ไพ†ๆบ๏ผˆไพๅ„ชๅ…ˆ็ดšๆŽ’ๅˆ—๏ผ‰๏ผš

  1. ็”จๆˆถ่‡ช่จ‚่ฆ†ๅฏซ โ€” ่‡ชๅฎš็พฉไปฃ็ขผ-ๅ็จฑๅฐ๏ผˆโญ ๆจ™็คบ๏ผ‰
  2. ๆœฌๅœฐไปฃ็ขผ็ดขๅผ• โ€” ๅ…งๅปบ้›ข็ทš็†ฑ้–€ไปฃ็ขผๅบซ
  3. Yahoo Finance ๆœๅฐ‹ โ€” ็ทšไธŠๆœๅฐ‹ๅ‚™ๆด
  4. ๅธธ็”จไปฃ็ขผ โ€” ็ฒพ้ธ็š„็พŽ่‚กใ€ไบžๆดฒ่‚กใ€ๅŠ ๅฏ†่ฒจๅนฃใ€ๅŽŸ็‰ฉๆ–™ๆธ…ๅ–ฎ

็‰น่‰ฒๅŠŸ่ƒฝ๏ผš

  • Yahoo ๆœๅฐ‹ๅธถ 400ms ้˜ฒๆŠ–ๅ‹•
  • ๆœๅฐ‹็ตๆžœๅฏไธ€้ตๅŠ ๅ…ฅๆœฌๅœฐ่ฆ†ๅฏซ็ดขๅผ•
  • ็›ดๆŽฅ่ผธๅ…ฅไปฃ็ขผๆŒ‰ Enter ๅณๅฏๆ‰‹ๅ‹•ๆ–ฐๅขž
  • ๅŠ ๅ…ฅ่ฆ†ๅฏซ็ดขๅผ•ๅพŒๅฏ้›ข็ทšๆœๅฐ‹
  • ้›™ๆ“Š็ตๆžœๅฏ็ซ‹ๅณๅŠ ๅ…ฅ็›ฎๅ‰ๆธ…ๅ–ฎ

ไปฃ็ขผ็ดขๅผ•็ถญ่ญท

้ปžๆ“ŠไธŠๆ–นๅทฅๅ…ทๅˆ—็š„ โš™๏ธ ๅœ–็คบ้€ฒๅ…ฅ็ดขๅผ•็ถญ่ญท้ ้ขใ€‚

  • ๆœๅฐ‹ โ€” ๅœจๆœฌๆฉŸ็ดขๅผ•ๆˆ– Yahoo ไธญๆŸฅๆ‰พไปฃ็ขผ
  • ๆ–ฐๅขž โ€” ๅฐ‡ๆ–ฐ็š„ไปฃ็ขผ-ๅ็จฑๅฐๅŠ ๅ…ฅ่ฆ†ๅฏซๆธ…ๅ–ฎ
  • ็ทจ่ผฏ โ€” ไฟฎๆ”นๆ—ขๆœ‰ๆข็›ฎ
  • ๅˆช้™ค โ€” ็งป้™ค่ฆ†ๅฏซๆข็›ฎ๏ผˆๅ…งๅปบๆœฌๅœฐไปฃ็ขผ็„กๆณ•ๅˆช้™ค๏ผ‰
  • ็ฏฉ้ธ โ€” ไพไปฃ็ขผๆˆ–ๅ็จฑ้Žๆฟพๅˆ—่กจ
  • ่ฆ†ๅฏซๆข็›ฎๅœจๆœๅฐ‹็ตๆžœไธญๅ„ชๅ…ˆๆ–ผๅ…งๅปบ็ดขๅผ•้กฏ็คบ

ไธป้กŒ็ณป็ตฑ

ไน็จฎไธป้กŒ๏ผŒ่จญๅฎšๆœƒ่‡ชๅ‹•ไฟๅญ˜๏ผš

ไธป้กŒ ้ขจๆ ผ
Dark ็ถ“ๅ…ธๆทฑ่‰ฒ โ€” ็ตฑไธ€่ƒŒๆ™ฏ้…็™ฝ่‰ฒๆ–‡ๅญ—
Ocean ๆทฑๆตท่—้…้‡‘่‰ฒๅผท่ชฟ
Forest ๆฃฎๆž—็ถ ้…ๅคงๅœฐ่‰ฒ่ชฟ
Sunset ๅค•้™ฝ็ดซๆš–่‰ฒ่ชฟ
Neon ้œ“่™น้ขจๆดปๆฝ‘ๅฐๆฏ”
Elegant ้ป‘้‡‘ๅฅข่ฏ้…่‰ฒ
Frosted Purple โ„๏ธ ๆทฑ่‰ฒๅบ•็…™็‡ปๅฝฉ็Žปใ€ๆผธๅฑค่ƒŒๆ™ฏใ€12px ๆฏ›็Žป็’ƒๆจก็ณŠ
Frosted Blue โ„๏ธ ๆทฑ่‰ฒๅบ•ๅ†ฐ่—็Žป็’ƒใ€ๆธ…ๆ–ฐ้€š้€ใ€12px ๆฏ›็Žป็’ƒๆจก็ณŠ
Frosted Cyan โ„๏ธ ๆทฑ่‰ฒๅบ•้’็ถ ็Žป็’ƒใ€่‡ช็„ถ่ˆ’็ทฉใ€12px ๆฏ›็Žป็’ƒๆจก็ณŠ

้œœๅฝฉ็Žป็’ƒไธป้กŒ็‰น่‰ฒ๏ผš

  • ๅŠ้€ๆ˜Ž็Žป็’ƒ้ขๆฟๆ•ˆๆžœ
  • ๅพ‘ๅ‘ๆผธๅฑค + ็ดฐๅพฎๅ™ช่ฒ็ด‹็†่ƒŒๆ™ฏ
  • 12px ๆฏ›็Žป็’ƒๆจก็ณŠ๏ผˆbackdrop-filter๏ผ‰
  • ๆŸ”ๅ’Œ้™ฐๅฝฑ่ˆ‡็™ผๅ…‰้‚Šๆก†

ๅœจไธŠๆ–นๅทฅๅ…ทๅˆ—็š„้กฏ็คบๅ™จๅœ–็คบไธ‹ๆ‹‰้ธๅ–ฎไธญๅˆ‡ๆ›ไธป้กŒใ€‚


ๅคš่ชž็ณปๆ”ฏๆด

ๅ…ญ็จฎ่ชž่จ€๏ผŒๅ•Ÿๅ‹•ๆ™‚่‡ชๅ‹•ๅตๆธฌ็€่ฆฝๅ™จ่จญๅฎš๏ผš

ไปฃ็ขผ ่ชž่จ€
zh-TW ็น้ซ”ไธญๆ–‡
zh-CN ็ฎ€ไฝ“ไธญๆ–‡
en English
ja ๆ—ฅๆœฌ่ชž
ko ํ•œ๊ตญ์–ด
es Espaรฑol

่ชž่จ€ๅๅฅฝๆœƒ่‡ชๅ‹•ไฟๅญ˜๏ผŒไธ‹ๆฌกๅ•Ÿๅ‹•ๆ™‚ๆขๅพฉใ€‚ๅตๆธฌ้‚่ผฏๆ”ฏๆดๅ€ๅŸŸๅ‰็ถดๅŒน้…๏ผˆไพ‹ๅฆ‚ zh-HK โ†’ zh-TW๏ผŒzh-SG โ†’ zh-CN๏ผ‰ใ€‚


ๅ€‹ไบบๅŒ–่จญๅฎš

ๅญ—ๅž‹

ๆ”ฏๆด 13 ็จฎ้ ่จญๅญ—ๅž‹๏ผŒไนŸๅฏ่ผธๅ…ฅ Windows ๅทฒๅฎ‰่ฃ็š„ไปปๆ„ๅญ—ๅž‹ๅ็จฑ๏ผš

็ณป็ตฑ้ ่จญใ€ๆ€ๆบ้ป‘้ซ”ใ€ๅพฎ่ปŸๆญฃ้ป‘้ซ”ใ€Arialใ€Segoe UIใ€Cambriaใ€Verdanaใ€Tahomaใ€ๆจ™ๆฅท้ซ”ใ€็ดฐๆ˜Ž้ซ”ใ€ๆ–ฐ็ดฐๆ˜Ž้ซ”ใ€Courier Newใ€Consolas

่‡ช่จ‚ๅญ—ๅž‹ๆœƒๅฅ—็”จ่‡ณๆ นๅฑค็ดš๏ผŒ่ทจๆœƒ่ฉฑไฟๅญ˜ใ€‚

็ธฎๆ”พ็ญ‰็ดš

ไบ”็จฎ้ ่จญ็ธฎๆ”พ๏ผš75%ใ€87.5%ใ€100%ใ€112.5%ใ€125%

้€้Žไฟฎๆ”นๆ นๅฑค็ดš font-size ๅฏฆ็พๆ•ด้ซ” UI ็ญ‰ๆฏ”็ธฎๆ”พใ€‚


่ณ‡ๆ–™ๅ„ฒๅญ˜ๆฉŸๅˆถ

ๆ‰€ๆœ‰ไฝฟ็”จ่€…่ณ‡ๆ–™ๅ„ฒๅญ˜ๆ–ผ browser localStorage๏ผš

ๅ„ฒๅญ˜่ณ‡ๆ–™ Key
่‡ช้ธ่‚กๆธ…ๅ–ฎ + ็›ฎๅ‰้ธๅ– ywatchlist_data
่ชž่จ€่จญๅฎš ywatchlist_language
ไธป้กŒ่จญๅฎš ywatchlist_theme
ๅญ—ๅž‹่จญๅฎš ywatchlist_font
็ธฎๆ”พ็ญ‰็ดš ๅŒ…ๅซๆ–ผ ywatchlist_data
่‡ชๅ‹•ๆ›ดๆ–ฐ็‹€ๆ…‹ ywatchlist_auto_refresh
่‡ชๅ‹•ๆ›ดๆ–ฐ้–“้š” ywatchlist_auto_refresh_interval
ๅƒนๆ ผๆ้†’ ywatchlist_alerts
ไปฃ็ขผ่ฆ†ๅฏซ็ดขๅผ• ywatchlist_index_overrides

้ ่จญๆธ…ๅ–ฎๆฐธไธ่ฆ†่“‹ โ€” ๆฏๆฌกๅ•Ÿๅ‹•ๆ™‚๏ผŒไฝฟ็”จ่€…ๅปบ็ซ‹็š„ๆธ…ๅ–ฎๆœƒๅˆไฝตๅœจ้ ่จญๆธ…ๅ–ฎไน‹ไธŠใ€‚


ๆŠ€่ก“ๆžถๆง‹

ๅฑค้ข ๆŠ€่ก“
ๆกŒ้ขๆก†ๆžถ Tauri 2.x
ๅ‰็ซฏ React 18 + TypeScript + Vite 5
ๆจฃๅผ Tailwind CSS 3 + CSS Variables
ๅœ–่กจ lightweight-charts 5.x
UI ๅ…ƒไปถ Radix UI + cmdk๏ผˆๅ‘ฝไปค้ขๆฟ๏ผ‰+ Lucide icons
ๅคš่ชž็ณป i18next + react-i18next
ๅพŒ็ซฏ Python โ€” yfinance, pandas, numpy
้€š็Ÿฅ @tauri-apps/plugin-notification

่ณ‡ๆ–™ๆตๅ‘๏ผš

React UI โ†’ Tauri Rust ๅพŒ็ซฏ โ†’ Python ่…ณๆœฌ๏ผˆyfinance๏ผ‰โ†’ JSON ๅ›žๆ‡‰ โ†’ React ็‹€ๆ…‹ โ†’ localStorage

ๅธธ่ฆ‹ๅ•้กŒ

Q๏ผšๆ‰พไธๅˆฐไปฃ็ขผ๏ผŸ

  1. ๅ˜—่ฉฆ็›ดๆŽฅ่ผธๅ…ฅ Yahoo Finance ๆ ผๅผ๏ผŒๅฆ‚ 2330.TWใ€0700.HKใ€601318.SS
  2. ๅŠ ๅฏ†่ฒจๅนฃๆ ผๅผ็‚บ BTC-USDใ€ETH-USD
  3. ไฝฟ็”จๆœๅฐ‹ๅŠŸ่ƒฝ โ€” ๆœƒไปฅ Yahoo Finance ไฝœ็‚บ็ทšไธŠๅ‚™ๆด
  4. ๅœจ็ดขๅผ•็ถญ่ญทไธญๅฐ‡ไปฃ็ขผๅŠ ๅ…ฅๆœฌๅœฐ็ดขๅผ•๏ผŒๆœชไพ†ๅณๅฏ้›ข็ทšๆœๅฐ‹

Q๏ผšๅ ฑๅƒนไธๆ›ดๆ–ฐๆˆ–ๅคฑๆ•—๏ผŸ

  • ็ขบ่ช็ถฒ่ทฏ้€ฃ็ทšๆญฃๅธธ
  • Yahoo Finance ๅถ็ˆพๆœƒ้™ๅˆถๆต้‡๏ผŒ็จๅพŒๅ†่ฉฆ
  • ่‹ฅ Python ๅพŒ็ซฏไธๅฏ็”จ๏ผŒๆ‡‰็”จ็จ‹ๅผๆœƒ่‡ชๅ‹•ๅ›ž้€€่‡ณๆจกๆ“ฌ่ณ‡ๆ–™

Q๏ผšK ็ทšๅœ–้กฏ็คบ็ฉบ็™ฝ๏ผŸ

  • ้ƒจๅˆ†ๅŠ ๅฏ†่ฒจๅนฃ่ˆ‡ๅค–ๅŒฏ็š„ๆญทๅฒ่ณ‡ๆ–™่ผƒๆœ‰้™
  • ๅปบ่ญฐๅ…ˆๅ˜—่ฉฆไธป่ฆ่‚ก็ฅจๆˆ–ๆŒ‡ๆ•ธ

Q๏ผšๅตๆธฌไธๅˆฐ Python ๅพŒ็ซฏ๏ผŸ

  • ่ฆ–็ช—้ ‚้ƒจๆœƒๅ‡บ็พ้ปƒ่‰ฒ่ญฆๅ‘Šๆฉซๅน…
  • ้ปžๆ“Šไธ‹่ผ‰้€ฃ็ตๅ–ๅพ— Python ้‹่กŒๆ™‚๏ผŒ่งฃๅฃ“็ธฎๅˆฐๅฐˆๆกˆๆ น็›ฎ้Œ„
  • ๅณไฝฟๆฒ’ๆœ‰ Python๏ผŒๆ‡‰็”จ็จ‹ๅผไปๅฏๆญฃๅธธไฝฟ็”จๆจกๆ“ฌ่ณ‡ๆ–™

Q๏ผšๅฆ‚ไฝ•้‡็ฝฎๆ‰€ๆœ‰่ณ‡ๆ–™๏ผŸ

ๆธ…้™ค็€่ฆฝๅ™จ localStorage ไธญ่ฉฒๆ‡‰็”จ็จ‹ๅผ็š„่ณ‡ๆ–™๏ผˆๆ‰€ๆœ‰่‡ช้ธ่‚กใ€่จญๅฎš่ˆ‡ๆ้†’ๅฐ‡ๆœƒ้บๅคฑ๏ผ‰๏ผš

  • ้–‹ๅ•Ÿ็€่ฆฝๅ™จ้–‹็™ผ่€…ๅทฅๅ…ท โ†’ Application โ†’ Local Storage โ†’ ๆธ…้™คๆ‰€ๆœ‰ ywatchlist_* ้–‹้ ญ็š„ key

yWatchlist โ€” Smart Watchlist Manager

A modern cross-platform desktop watchlist manager for stocks, indices, ETFs, forex, and cryptocurrencies. Built with Tauri 2.x + React 18 + TypeScript, featuring professional K-line charts, real-time price alerts, multi-language support, and nine customizable themes.

โš ๏ธ Disclaimer: Yahoo Finance quotes are typically delayed by 15โ€“20 minutes. Data is for reference only and should not be used as the basis for any investment decisions.


Table of Contents


Features Overview

Feature Description
๐Ÿ“‹ Multi-watchlist Create, rename, delete, and organize unlimited watchlists
๐Ÿ’น Live Quotes Delayed quotes from Yahoo Finance with auto/manual refresh
๐Ÿ•ฏ๏ธ K-Line Charts Professional candlestick charts with MA, KD, MACD indicators
๐Ÿ“Š Fundamental Analysis 30+ financial metrics across 7 categories
๐Ÿ”” Price Alerts High/low price alerts with system notifications
๐Ÿ” Smart Search Offline local index + Yahoo fallback search
๐ŸŽจ 9 Themes Dark, Ocean, Forest, Sunset, Neon, Elegant, Frosted Purple/Blue/Cyan
๐ŸŒ 6 Languages zh-TW, zh-CN, en, ja, ko, es
โŒจ๏ธ Keyboard Shortcuts Ctrl+K to open search instantly

System Requirements

  • OS: Windows 10/11 (64-bit)
  • WebView2: Pre-installed on Windows 10/11; otherwise install from Microsoft

๐Ÿš€ Download & Install (Recommended)

Download yWatchlist_1.0.1_x64-setup.exe from Releases and run it. No additional files needed.


๐Ÿ”ง Build from Source (Developers)

Prerequisites

  • Node.js: v18 or higher
  • Rust toolchain: rustup recommended

Steps

  1. Clone the project
git clone https://github.com/aneterw/yWatchlist.git
  1. Download Python Runtime Download python-embed-full.zip from Releases and extract to the project root:
yWatchlist/
โ”œโ”€โ”€ python-embed-full/   โ† extract here
โ”œโ”€โ”€ src/
โ”œโ”€โ”€ src-tauri/
โ””โ”€โ”€ ...
  1. Install dependencies
npm install
  1. Run or build
# Development mode
npm run tauri dev

# Build release
npm run tauri build

Getting Started

1. Install dependencies: npm install
2. Launch: npm run tauri dev
3. Browse the default "Global Indices" list on the left sidebar
4. Click "Refresh Current" or wait for automatic 10-minute updates
5. Double-click any item to view its K-line chart
6. Click the ๐Ÿ“ˆ icon (or right-click) to open Fundamental Analysis
7. Use Ctrl+K or the Search button to add new stocks
8. Switch themes, languages, and fonts from the header bar

Default Watchlists

The app ships with two pre-built lists:

List Name Contents
Global Indices Dow Jones (^DJI), S&P 500 (^GSPC), NASDAQ (^IXIC), Philadelphia Semiconductor (^SOX), Taiwan Weighted (^TWII), SSE Composite (000001.SS), SZSE Component (399001.SZ), Hang Seng (^HSI), Nikkei 225 (^N225), Korea KOSPI (^KS11), Singapore STI (^STI), Germany DAX (^GDAXI), France CAC 40 (^FCHI), UK FTSE 100 (^FTSE)
Tech ETF QQQ (NASDAQ 100), VGT (Technology SPDR)

Core Features

Watchlist Management

  • Create a new watchlist via the + button in the sidebar
  • Rename any watchlist by hovering and clicking the pencil icon
  • Delete a watchlist with the trash button (confirmation dialog)
  • Reorder stocks within a list using the up/down arrow buttons on each row
  • Remove a stock: click once to select, click again to confirm deletion
  • Add stocks via the "Add Stock" button, the search modal, or Ctrl+K

Price Quotes & Auto Refresh

  • Quotes are fetched from Yahoo Finance through the Python backend
  • Prices include: current price, change, percent change, and volume
  • Color coding: green for up, red for down, gray for flat
  • Auto-refresh is enabled by default and configurable:
    • Every 5 minutes
    • Every 10 minutes (default)
    • Every 30 minutes
    • Every 60 minutes
  • Toggle auto-refresh on/off with the clock button in the header
  • Manual refresh options:
    • Refresh Current โ€” update only the active watchlist
    • Refresh All โ€” update every watchlist at once
  • Last update timestamp is displayed per watchlist

Professional K-Line Charts

Powered by lightweight-charts 5.x, double-click any stock or click the ๐Ÿ“Š icon.

Time Periods:

Period Data Range
Daily 2 years
Weekly 10 years
Monthly 30 years

Chart Types:

Type Description
Candle Pure candlestick + volume
Candle MA Candlestick + 10-period moving average
KD Candlestick + KDJ oscillator pane
MACD Candlestick + MACD histogram, signal line, and MACD line

Interactions:

  • Zoom with mouse wheel
  • Pan by dragging
  • Hover for OHLCV tooltip with indicator values
  • Responsive resize

Fundamental Analysis

Right-click a stock or click the ๐Ÿ“ˆ icon to open the analysis panel. Data is fetched from Yahoo Finance via the Python backend.

Company Info Card:

  • Company name, sector, industry
  • Current price, previous close, today's high/low
  • Volume, market cap, P/E ratio, dividend yield, 52-week high/low, beta, EPS

7 Metric Categories (30+ indicators):

Category Indicators
Valuation Market Cap, Trailing P/E, Forward P/E, PEG, Price-to-Book, EV/EBITDA
Profitability EPS, ROE, ROA, ROIC, Operating Margin, Profit Margin
Yield & Risk Dividend Yield, Beta, FCF Yield, Quick Ratio, Short % of Float
Analyst & Holdings Target Mean Price, Target Median Price, Analyst Count, Recommendation, Insider Ownership, Institutional Ownership
52-Week Range 52-Week High, 52-Week Low, Range Position
Cash Flow Free Cash Flow, Operating Cash Flow, FCF Dividend Coverage
Revenue & Growth Total Revenue, Total Liabilities, Total Cash, Earnings Growth, Revenue Growth

Stock News: Latest headlines with publisher, date, and clickable links to original articles.

Cookie Consent: A cookie settings dialog is available for Yahoo Finance consent management.

Price Alerts

Set high and low price thresholds per stock:

  1. Click the bell icon on any stock row
  2. Enter a high price (alert when price rises above) or low price (alert when price falls below)
  3. Save โ€” the alert persists across sessions

Notification behavior:

  • Triggers a Windows system notification (12-second auto-dismiss)
  • Bell icon turns yellow when an alert is configured
  • Tooltip shows current thresholds and a โœ“ checkmark when triggered
  • Delete alerts by hovering the bell and clicking the trash icon

Smart Search

Open with Ctrl+K or click the Search button.

Search sources (in priority order):

  1. User Overrides โ€” custom ticker-name mappings (โญ marked)
  2. Local Ticker Index โ€” built-in offline index of popular tickers
  3. Yahoo Finance Search โ€” online fallback for broader discovery
  4. Common Tickers โ€” curated list of frequently watched US, Asian, crypto, and commodity symbols

Features:

  • Debounced Yahoo search (400ms)
  • Add Yahoo results to your local override index with one click
  • Type a raw ticker symbol and press Enter to manually add it
  • Results remain searchable offline after adding to overrides
  • Double-click a result to instantly add it to the current watchlist

Ticker Index Maintenance

Click the โš™๏ธ icon in the header to manage the local ticker index.

  • Search tickers against the local index or Yahoo
  • Add new ticker-name pairs to the override list
  • Edit existing entries
  • Delete overrides (local built-in tickers cannot be deleted)
  • Filter the list by ticker or name
  • Overrides take precedence over the built-in index in search results

Theming System

Nine themes, all persisted in localStorage:

Theme Style
Dark Classic dark โ€” uniform background, white text
Ocean Deep sea blue with gold accents
Forest Forest green with earthy natural tones
Sunset Sunset purple with warm colors
Neon Neon style with vibrant contrast
Elegant Black-and-gold luxury palette
Frosted Purple โ„๏ธ Dark base + smoky violet glass panels, gradient background, 12px blur
Frosted Blue โ„๏ธ Dark base + icy blue glass panels, gradient background, 12px blur
Frosted Cyan โ„๏ธ Dark base + teal glass panels, gradient background, 12px blur

Frosted Glass themes include:

  • Semi-transparent glass-effect panels
  • Radial gradient + noise texture backgrounds
  • 12px backdrop blur
  • Soft shadows and glowing borders

Switch themes from the monitor icon dropdown in the header bar.


Multi-Language Support

Six languages with automatic browser detection:

Code Language
zh-TW ็น้ซ”ไธญๆ–‡
zh-CN ็ฎ€ไฝ“ไธญๆ–‡
en English
ja ๆ—ฅๆœฌ่ชž
ko ํ•œ๊ตญ์–ด
es Espaรฑol

Language preference is saved and restored on next launch. Detection logic handles locale prefixes (e.g., zh-HK โ†’ zh-TW, zh-SG โ†’ zh-CN).


Customization

Fonts

Choose from 13 preset fonts or enter a custom Windows-installed font name:

System Default, Noto Sans TC/SC, Microsoft JhengHei, Arial, Segoe UI, Cambria, Verdana, Tahoma, KaiTi, MingLiU, PMingLiU, Courier New, Consolas

Custom fonts are applied at the root level and persist across sessions.

Zoom Levels

Five preset zoom levels: 75%, 87.5%, 100%, 112.5%, 125%

Applied to the root font-size for proportional scaling of all UI elements.


Data Persistence

All user data is stored in browser localStorage:

Stored Data Key
Watchlists + active list ywatchlist_data
Language ywatchlist_language
Theme ywatchlist_theme
Font family ywatchlist_font
Zoom level Included in ywatchlist_data
Auto-refresh state ywatchlist_auto_refresh
Auto-refresh interval ywatchlist_auto_refresh_interval
Price alerts ywatchlist_alerts
Ticker overrides ywatchlist_index_overrides

Default watchlists are never overwritten โ€” user-created lists merge on top of defaults on every launch.


Technical Architecture

Layer Technology
Desktop Framework Tauri 2.x
Frontend React 18 + TypeScript + Vite 5
Styling Tailwind CSS 3 + CSS Variables
Charts lightweight-charts 5.x
UI Components Radix UI + cmdk (command palette) + Lucide icons
i18n i18next + react-i18next
Backend Python โ€” yfinance, pandas, numpy
Notifications @tauri-apps/plugin-notification

Data flow:

React UI โ†’ Tauri Rust backend โ†’ Python script (yfinance) โ†’ JSON response โ†’ React state โ†’ localStorage

Troubleshooting

Q: Can't find a ticker?

  1. Try Yahoo Finance format directly: 2330.TW, 0700.HK, 601318.SS
  2. Crypto format: BTC-USD, ETH-USD
  3. Use the search modal โ€” it queries Yahoo Finance as a fallback
  4. Add the ticker to your local index via Index Maintenance for future offline access

Q: Prices not updating or failing?

  • Check your internet connection
  • Yahoo Finance occasionally rate-limits requests โ€” wait a moment and retry
  • The app falls back to mock data if the Python backend is unavailable

Q: K-line chart appears empty?

  • Some cryptocurrencies and forex pairs have limited historical data
  • Try major stocks or indices first

Q: Python backend not detected?

  • A yellow warning banner appears at the top of the window
  • Click the download link to get Python runtime, extract to the project root
  • The app remains fully usable with mock data even without Python

Q: How to reset all data?

Clear browser localStorage for this app (all watchlists, settings, and alerts will be lost):

  • Open browser DevTools โ†’ Application โ†’ Local Storage โ†’ clear all ywatchlist_* keys

About

yWatchlist (Stock Watchlist Manager) Modern cross-platform stock/index/ETF/forex/cryptocurrency watchlist manager built with Tauri + React + TypeScript. Features include K-line charts, price alerts, multi-language support, and multiple themes. 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