All Projects → prikhi → crypto-portfolio

prikhi / crypto-portfolio

Licence: GPL-3.0 License
A CLI Cyrptocurrency Portfolio Tracker

Programming Languages

haskell
3896 projects

Projects that are alternatives of or similar to crypto-portfolio

FinanceKit
FinanceKit is a Framework for iOS and Mac to build apps working with financial data, like money, currencies, stocks, portfolio, transactions and other concepts.
Stars: ✭ 15 (+25%)
Mutual labels:  portfolio, finance
Node Finance
Module for portfolio optimization, prices and options
Stars: ✭ 101 (+741.67%)
Mutual labels:  portfolio, finance
Transity
Keep track of your 💵, 🕘, 🐖, 🐄, 🍻 on your command line
Stars: ✭ 528 (+4300%)
Mutual labels:  finance, tui
Alpha Mind
quantitative security portfolio analysis. The analysis pipeline including data storage abstraction, alpha calculation, ML based alpha combining and portfolio calculation.
Stars: ✭ 171 (+1325%)
Mutual labels:  portfolio, finance
SBTi-finance-tool
This toolkit helps companies and financial institutions to assess the temperature alignment of current targets, commitments, and investment and lending portfolios, and to use this information to develop targets for official validation by the SBTi. See the wiki for a change log.
Stars: ✭ 39 (+225%)
Mutual labels:  portfolio, finance
pytr
Use TradeRepublic in terminal and mass download all documents
Stars: ✭ 141 (+1075%)
Mutual labels:  portfolio, finance
AIPortfolio
Use AI to generate a optimized stock portfolio
Stars: ✭ 28 (+133.33%)
Mutual labels:  portfolio, finance
Python Trading Robot
A trading robot, that can submit basic orders in an automated fashion using the TD API.
Stars: ✭ 235 (+1858.33%)
Mutual labels:  portfolio, finance
lakshmi
Investing library and command-line interface inspired by the Bogleheads philosophy
Stars: ✭ 107 (+791.67%)
Mutual labels:  portfolio, finance
simple portfolio
Export trades from Robinhood and run basic reporting on portfolio performance
Stars: ✭ 17 (+41.67%)
Mutual labels:  portfolio, finance
okama
Investment portfolio and stocks analyzing tools for Python with free historical data
Stars: ✭ 87 (+625%)
Mutual labels:  portfolio, finance
roi-portfolio
✨ Portfolio site created using Nextjs.
Stars: ✭ 21 (+75%)
Mutual labels:  portfolio
Dopefolio
Dopefolio 🔥 - Portfolio Template for Developers 🚀
Stars: ✭ 2,047 (+16958.33%)
Mutual labels:  portfolio
secman
[Archived] 👊 Human-friendly and amazing secrets manager.
Stars: ✭ 63 (+425%)
Mutual labels:  tui
awesome-beancount
Awesome Beancount Resources
Stars: ✭ 114 (+850%)
Mutual labels:  finance
stockscore
A python project to fetch stock financials/statistics and perform preliminary screens to aid in the stock selection process
Stars: ✭ 54 (+350%)
Mutual labels:  finance
stocki
The CLI for fetching stock market data
Stars: ✭ 32 (+166.67%)
Mutual labels:  finance
website
My personal website and blog. Made with Nuxt.js and WindiCSS.
Stars: ✭ 19 (+58.33%)
Mutual labels:  portfolio
defiprime
All things #DeFi - trustless and transparent financial products built on top of the blockchain.
Stars: ✭ 117 (+875%)
Mutual labels:  finance
foxfolio-desktop
Cryptocurrency portfolio management application which automatically retrieves balances and trades using exchange APIs
Stars: ✭ 63 (+425%)
Mutual labels:  portfolio

Crypto Portfolio

Build Status

This is an early alpha of a Cryptocurrency Portfolio management application with a terminal UI.

Right now it's mostly useful if you trade mostly on GDAX or Binance & have your transactions entered in at http://CoinTracking.info. If you don't use CoinTracking, you can generate some randomized data to play around with.

Features

It currently:

  • Reads a cointracking.info Trades Table CSV export.
  • Streams the current USD price of each coin from GDAX.
  • Streams the current ETH or BTC prices of each of my coins from Binance.
  • Shows an Ethereum Gains table: the amount, cost, value, % change, & gains for any altcoins traded with ETH, with totals in both ETH & USD.
  • Shows a USD Gains table: the amount, cost, value, % change, & gains for every coin traded, earned, & spent.
  • Shows a list of all Trades, Income, Expenses, & Transfers.

The User Interface of the Crypto Portfolio Program, Showing a Table of Costs, Values, and Gains for Several Cryptocurrencies

Usage

Build it with stack:

stack build

Go to the Enter Coins page on https://CoinTracking.info, hit the Export button and choose CSV. Move it to this directory and call it trade_table.csv.

If you don't use CoinTracking, you can generate some fake data instead:

stack exec generate-data

Now run the app:

stack exec crypto-portfolio

Press n/p to cycle through the views & q to quit. You can scroll the tables with the following keys:

j - scroll down 1 line
k - scroll up 1 line
Ctrl-d - scroll down 1/2 page
Ctrl-u - scroll up 1/2 page
Ctrl-f - scroll down a page
Ctrl-b - scroll up a page
g - go to first row
G - go to last row

Contribute

Lots to do, PRs gratiously accepted. For big things, please open an issue with your intentions so we can be on the same page.

You can find more refactoring/cleanup sort of stuff by greping the src and app folders for TODO.

Short Term

  • "Privacy" mode that obfuscates amounts but still shows percents/prices
  • Highlight focused table row(skipping horizontal dividers)
    • Completely highlight multi-line rows
  • Toggle between latest price & 24hr/7d/1mo/1yr average prices
  • Total USD Realized Gains in Ethereum Gains table should be tied to historical prices, not current price(right now ETH price updates change the realized gains).
  • Build historical USD price cache in background
    • use channel to send prices to main thread
    • track total remaining requests, show progress bar on reliant views.
    • re-serialize & save every time we get a price update
    • properly handle exceptions while fetching(right now == runtime error)
  • Dashboard view - cointracking for inspiration
    • current BTC & ETH price
    • total coin value in USD
    • total USD investment
    • current account value & 24hr change
    • currency table w/ quantity, value / unrealized gains, price, & % change
    • balance per exchange/account and/or currency
    • Bar graph of each currency's portfolio percentage(coin val / total val)
  • Colors
    • green for positive gains & percents, red for negative?
    • Color "Type" column in trades list?
    • Graphics.Vty.Attributes offers 240 color support.

Long Term

  • Allow changing Altcoin pair to other GDAX currencies(currently hardcoded to ETH)
    • Could change Ethereum Gains to Altcoin Gains view.
  • Bar Graphs
    • Ascii? Brick.Widgets.ProgressBar?
    • Generate w/ charting library & show in terminal w/ my brick-image package?
  • Sorting Tables
    • Add Maybe (sorting function) to Column type
    • Keybinding to sort by previous/next column & toggle sort direction
    • Unicode up/down arrows in header of current sorted column
  • Filtering Tables, Searching Transactions
    • Allow text filtering of any column, like CoinTracking
  • Have it's own trade management system(so I don't need to use cointracking)
    • Mimic the CoinTracking "Enter Coins" page?
    • Allow editing Trades directly from Trades List view
    • Database: Persistent/Esqueleto, ACID State, or Beam? Needs ReaderT IO in update.
    • Full data exports in CSV and/or XLS/ODS.
    • Allow Tagging/Grouping Trades(Search/Filter)
    • Track Exchanges(Search/Filter)
    • Import trades directly from GDAX & Binance API or exports instead of CoinTracking. Maybe add them as "unapproved" until edited/verified by User.
  • Have additional views(dashboard, add/edit trades, watch list, alerts, etc.)
    • Current Balance - amount, value, % of holdings, USD price, 1h/24h/7d/30d price trends.
    • Trade Analysis - CoinTracking only shows this for a single coin to another coin. Maybe abstract the Ethereum Gains view so it works w/ any fiat-market coin & add an inline trade table?
    • Fee Report - Table w/ every transaction that has a fee, w/ fee amount & currency, USD value at transaction date, USD value now, date, & totals in the footer.
    • See CoinTracking for inspiration of other views / reports to add.
  • Desktop Notifications
    • Price Alerts
    • When new Transaction imported from GDAX / Binance APIs
  • Release Table module as Brick Widget package
  • Release Binance & GDAX modules as package(even though it's incomplete)
  • Debug/info/error logging(Katip or fast-logger packages?), maybe Message Log view or just log to file.
  • Coin research views(subreddit, cmc data, wikipedia, google trends)
  • Servant JSON API w/ Elm frontend? Or try reflex-platform for easy web/desktop/mobile cross-compilation?
  • User-definable colorschemes, see Brick.Themes module.
  • Support more exchanges if anyone else cares about this.

License

GPL-3.0

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].