Skip to content

Gbird22/Investment-Tracker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Investment Tracker (JS)

A lightweight, browser-based portfolio tracking application designed to visualize and analyze ETF and stock holdings. It provides insights into sector exposure, asset allocation, and diversification. Everything is saved locally and no data leaves your computer. If you can use Excel you can use this tool.

Create your own classifications, types, and regions.

Screenshot 2025-12-30 at 1 41 53 AM

See how diversified your portfolio is across sectors. This tool is built with simple functionality that enables better insights.

Screenshot 2025-12-30 at 1 40 14 AM

Features

Portfolio Visualization

  • Interactive Grid: Sortable, filterable table of all your holdings.
  • Allocation Charts:
    • Asset Allocation: Breakdown by Classification (Equity, Fixed Income, Alternatives).
    • Value by Type: Breakdown by Investment Type (Broad Market, Dividend, Growth, etc.).
  • Responsive Filters: Instantly filter by Account, Region, Classification, or Type.

Deep Sector Analysis

  • Sector Exposure Matrix: A powerful table calculating your true dollar exposure to every sector (Technology, Healthcare, Energy, etc.) across all your ETFs.
  • Sector Allocation Chart: A dynamic pie chart showing your aggregate sector breakdown.
  • Manual Data Import: Easily copy-paste "Sector Weightings" directly from Yahoo Finance to populate sector data for any ETF.

Data Persistence

  • Zero-Database: All data is stored in local JSON files.
  • Save/Load Session: Export your entire portfolio state (including sector data) to holdings.json and reload it anytime.
  • Edit Map: Save and load your custom Classification/Type mappings.

Setup & Usage

Since this is a client-side application, you can run it directly in your browser.

  1. Open the App: Double-click index.html to open it in your web browser.

  2. Load Data:

    • Click Load JSON to import a previously saved holdings.json.
    • OR Click Add Holding to manually enter a new position.

    Importing from Relay

    To import your data from the official SoFi Relay interface:

    1. Log in to your Relay dashboard.
    2. Navigate to the Holdings view.
    3. Right-click anywhere on the page and select Save Page As... (or press Ctrl+S / Cmd+S).
    4. Save the file as relay.html.
    5. In this app, click Import HTML and select that file.
  3. Edit Sectors:

    • Click the Pie Chart Icon (or White/Green circle) next to any holding.
    • Go to Yahoo Finance by clicking on the ticker symbol located on the far left
    • Find Data: Go to the Holdings tab (or Profile for some stocks) and look for the "Sector Weightings" section.
    • Copy: Select and copy the entire list of sectors and their values (percent).

      Tip: You can usually just highlight the table rows including names and percentages.

    • Paste: Paste the text directly into the modal text area.
      Sector
      VIG
      Technology
      29.5%
      Financial Services
      21.42%
      Healthcare
      15.3%
      Industrials
      10.32%
      Consumer Defensive
      9.5%
      Consumer Cyclical
      5.2%
      Basic Materials
      2.89%
      Energy
      2.73%
      Utilities
      2.64%
      Communication Services
      0.49%
      Real Estate
      0%
      
    • Click Save.
  4. Save Your Work: Click Save (Download JSON) to save your updated portfolio to your computer.

File Structure

  • index.html: Main application structure.
  • app.js: Core logic for data processing, rendering charts, and handling user events.
  • style.css: Custom styling, including the grid layout and sector status indicators.
  • class_map.js: Default classification data (loaded locally to bypass CORS).
  • relay-parser.js: Parser for importing data from SoFi Relay HTML format.

Dependencies

All dependencies are included locally in the vendor/ directory:

  • Grid.js: For the interactive data tables.
  • Chart.js: For the beautiful pie charts.
  • ChartDataLabels: For displaying detailed labels on charts.

Generated using Google's AntiGravity

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published