Co-authored-by: jmaslek <jmaslek11@gmail.com> Co-authored-by: Chavithra <chavithra@gmail.com> Co-authored-by: Theodore Aptekarev <aptekarev@gmail.com> Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> Co-authored-by: Didier Rodrigues Lopes <dro.lopes@campus.fct.unl.pt> * improve user experience phase 1 * add difflib replacement * implement auto-complete on discovery menu * auoto-complete, difflib,jump through menus with cd * Updating tests : terminal * improve navigation on gst * add q command to terminal.py * usage instructions * Updating tests : terminal * fix cd command * vars updated * show menu when user is going through menus * allow user to forget the intiail / on scripting * terminal to accept text file with configuration * refactor -n to -l and clean code * add all commands to the tests_stocks_disc * remove fds from disc since we have search on stocks/ and stocks/sia * hopefully fix tests * skip test * fix completer type and calling menu after command for stocks/disc * show help menu when moving forward/backwards in menus * skip test * skip test - bug fix * add reset, help and quit to choices * improve stocks/disc controller * refactor sia menu * UX improvements for sia menu * improve ux design * refactor ca controller * fix infinite loop * improve ux on dps controller * Add capability of going back from a menu going into a menu * Ux economy (#1056) * First round of UX improvements on economy menu * Do fred menu + sample tests file * revert to > on menu * rename jobs file to .gst * remove cd option * improve return * final refactoring of disc_controller * fix ca,dps,sia,disc,stocks and terminal controllers * work on ba_controller menu * fix reset and try_except * UX on screener controller * fix for full reset name * Ux etfs (#1059) * Refactor ETF menu for new UX * Add couple more examples to test * r->reset * Clean up switch * gov menu refactored * fix reset issue * 80% of refactoring options and pricing/payoff menu is done * improve payoff controller * minor fix * fix: refactor pred and ta stocks controller * fix: refactor fa(and fmp) controllers * fix: refactored dd controller (still missing .gst tests) * fix infinite loop bug * refactor options controller * add tests for payoff and pricing * fix reset for options * UX Upgrade for Crypto controller(s) (#1049) * refactor crypto controller * refactor crypto/defi controller * added simple test and fixes not returning queue in commands * Clean up unused functions / iex load (#1047) * Clean up unused functions and adjust iex load function to not depend on dates * Had an incorrect tab on s_start definition * wrong default arg * regenerate pytest yml * Comment out parametrization * Tests : Stocks > Discovery (#1050) * Updating tests : stocks/discovery/ark * Updating tests : stocks/discovery/fidelity * Updating tests : stocks/discovery/fidelity * Updating tests : stocks/discovery/fidelity * Updating tests : stocks/discovery/seeking_alpha * Updating tests : stocks/discovery/seeking_alpha * Updating tests : stocks/discovery/shortinterest * Updating tests : stocks/discovery/shortinterest * Updating tests : stocks/discovery/seeking_alpha * Updating tests : stocks/discovery/shortinterest * Updating tests : stocks/discovery/disc_controller * Updating tests : stocks/dd * Updating tests : stocks/fa * Updating tests : stocks/discovery/financedatabase * Updating tests : stocks/discovery/finnhub * Updating tests : stocks/discovery/geekofwallstreet * Updating tests : stocks/discovery/marketbeat * Updating tests : stocks/discovery/nasdaq * Updating tests : stocks / discovery / yahoofinance * Updating tests : black * Updating tests : unused import * Updating tests : stocks/discovery/ark * Tests : Stocks > Doc + Helpers + Government (#1051) * Updating tests : stocks/government/controller * Updating tests : stocks/government * Updating tests : conftest * Updating tests : stocks > government * Updating tests : stocks/government * Updating tests : docs * Tests : Stocks > Insider (#1054) * Updating tests : stocks > helper * Updating tests : doc * Updating tests : clean stocks > fa > av * Updating tests : stocks/insider/controller * Updating tests : stocks/insider/business insider * Updating tests : stocks/insider/finviz * Updating tests : stocks/insider/openinsider * Updating tests : stocks/insider/controller * Updating tests : black * Updating tests : stocks/insider/controller * Tests : Stocks > Backtesting + Behavioural Analysis (#1057) * Updating tests : add __init__ files * Updating tests : stocsk/behavioural_analysis * Updating tests : black * Updating tests : stocks/backtesting * Updating tests : stocks/backtesting * fix: converted top to limit arguments * fix: refactor disc controller, updated docs * fix: refactor dd_controller and docs * fix: refactor nft controller and docs * fix: pass test temporarily, onchain controller refactor, docs * fix: overview controller refactor, fix quit command * fix: linting issues * fix: refacot ta controller * fix: refactor pred controller * fix: linting * fix: crypto controller * fix: added tests, updated all controlers * fix: menu print renamed from stocks to crypto controller, added tests * fix: fix faster function execution * Fix annoying pylint C0201 error * fix: renamed commands to long format * DISC Cleanup (#1058) * Get rid/cleanup of marketbeat functions * Get rid of last unused disc function + fix related tests * fix test * Dividend History Chart (#1053) * Dividend History Chart * changed to default number 10 * changed divs flag default to false * updating the expected result for test_fa_controller. * else statement * fix: added load on dd * fix: added autocompletion in all commands with argument choices * fix: linting * Workflows + Stocks > Insider (#1061) * Updating code : stocks/insider remove unused file * Updating workflows : tests - set mypy==0.910 * fix: linting * Fixing Linting (#1062) * Updating code : fixing linting mypy message = Too many arguments for <lambda> * Updating workflows : allow newest mypy version * Updating code : apply black * Updating code : black * fix: updated predict controller help to match stocks * Ux: portfolio (#1063) * First step of portfolio UX * Add all broker controllers to UX stuff * UX Improvement for PO Co-authored-by: Didier Rodrigues Lopes <dro.lopes@campus.fct.unl.pt> * UX Improvement for resources (#1064) Co-authored-by: Didier Rodrigues Lopes <dro.lopes@campus.fct.unl.pt> * UX: stock/bt (#1065) * UX: stocks>qa (#1068) * fix mypy lambda * skip tests for now * remove unused paths.py * rename tests/simulator to tests/e2e * refactor options/screener menu * UX : move `gst` files location * fix stocks_controller * UX upgrade of the Forex menu (#1048) * Add basic forex menu test * Add forex routes to terminal paths * Remove commands from paths because they're not menus * WIP Refactor forex controller * refactor crypto controller * Remove commented code * Improve user output with printed text * Add "help" back to the list of choices * Enable the command queue for the forex controller * refactor crypto/defi controller * Fix candle chart blocking the terminal * Black * Return help and reset to the list of known args * added simple test and fixes not returning queue in commands * Add currency codes loading to the av_model * Return the queue in edge cases (when commands don't process) * Split select into to and from to enable autocompletion * Style text output * Stop printing help after the execution of every command * Update test scenarios * Black * fix: converted top to limit arguments * fix: refactor disc controller, updated docs * Delete oanda the old view file that was moved into the oanda menu * fix: refactor dd_controller and docs * fix: refactor nft controller and docs * fix: pass test temporarily, onchain controller refactor, docs * fix: overview controller refactor, fix quit command * fix: linting issues * fix: refacot ta controller * fix: refactor pred controller * fix: linting * fix: crypto controller * fix: added tests, updated all controlers * fix: menu print renamed from stocks to crypto controller, added tests * fix: fix faster function execution * Implement basic UX improvement of the oanda controller * Update the forex controller * Fix annoying pylint C0201 error * Add latest convention changes to the forex controller * fix: renamed commands to long format * fix: added load on dd * Merge the latest updates of the controller design * fix: added autocompletion in all commands with argument choices * fix: linting * fix: linting * fix: updated predict controller help to match stocks * Update the forex menu e2e test scripts * Add check_non_negative_float helper * Update the controller with the latest changes to the convention * Update the currency pair loading mechanism * Move data models logic to the models file * Update update oanda views to be interact with the models * Upgrade oanda controller * Remove raw stocks ba and eda code from the forex menu * Update "help wanted" banner for ba and eda in forex menu * Remove remainders of stocks ba and eda from forex context * Improve typing, docstrings and error messages * Remove stocks ba and eda code that was merged from other ux branches * Add fixes that prevented incorrect argument handling * Remove -argument from the candles call If there is an expected agr `-g` and you put an incorrect argument `-argument` the difflib will interpret `argument` as `g` Co-authored-by: jose-donato <zmcdonato@gmail.com> Co-authored-by: Didier Rodrigues Lopes <dro.lopes@campus.fct.unl.pt> * fix reset for menus that require ticker * UX improvement on research menu * skip insider controller test * initial refactoring of insider_controller * improve insider controller ux part 2 * finish refactoring ins controller ux menu * fix bug of when commands in queue have args * skip test * comment test stuff * UX: stocks>qa (#1071) * refactor return self.queue * fix return None * minor fix * minor tabulate fix * Get rid of leading '/' in terminal and add some newlines on quits. (#1074) * Get rid of leading '/' in terminal and add some newlines on quits. * print crypto help on menu entry * looks like a format issue here... * newlines on quit * remove unnecessary line break * fix pylint issue * refactor * refactor * allow portfolio optimization to quit context * add exit at end of scripts * improve dd_controller * test ux in stocks/dd menu * Ux upgrade for reports context (#1075) * Refactor reports and upgrade them with the latest controller convention * Add test scenarios for the reports context * test ux stocks/ta * ux branch scripts/ta * improvement on main param * Upgrades for the UX upgrade for the fa and fa/fmp menus (#1076) * Change --num to --limit * Remove inconsistent/unreliable functions from the choices list * Improve docstring compliance with numpy doc format * Fix hardcoded class id in dcf scrapper * Fix annoying pylint error in discordbot that was blocking the hook * Add test scenarios for the fa and fa/fmp menus * Fix forgotten replacement of --num to --limit * Fix tests * Return some excluded commands to the choices list * Fix dd report to reflect the updates * Fix set function not returning the queue * Update gst test files * fix exit on ca from another submenu * fix changes of options/screener * fix dps controller * fix fa when running out of AV calls * Fix TVL plot locking interpreter during defi test * Add exception handling for broken coingecko scrapper * skip fa/av test that fails * fix dps tests Co-authored-by: Chavithra PARANA <chavithra@gmail.com> Co-authored-by: jmaslek <jmaslek11@gmail.com> Co-authored-by: jose-donato <zmcdonato@gmail.com> Co-authored-by: jose-donato <43375532+jose-donato@users.noreply.github.com> Co-authored-by: Theodore Aptekarev <aptekarev@gmail.com> Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com>
17 KiB
Vendored
OVERVIEW
This menu aims to explore most important crypto statistics, read latest news, find best exchanges, crypto indexes and derivatives. The usage of the following commands along with an example will be exploited below.
- cg_global
- show global crypto market info
- cg_defi
- show global DeFi market info
- cg_stables
- show Stable Coins
- cg_nft_today
- show NFT Of The Day
- cg_nft
- show NFT Market Status
- cg_exchanges
- show Top Crypto Exchanges
- cg_exrates
- show Coin Exchange Rates
- cg_platforms
- show Crypto Financial Platforms
- cg_products
- show Crypto Financial Products
- cg_indexes
- show Crypto Indexes
- cg_derivatives
- show Crypto Derivatives
- cg_categories
- show Crypto Categories
- cg_hold
- show eth, btc holdings overview statistics
- cg_companies
- show eth, btc holdings by public companies
- cp_global
- show global crypto market info
- cp_info
- show basic info about all coins available on CoinPaprika
- cp_markets
- show market related info about all coins available on CoinPaprika
- cp_exchanges
- list all exchanges available on CoinPaprika
- cp_exmarkets
- show all available markets on given exchange
- cp_platforms
- list blockchain platforms/ecosystems eg. ethereum, solana, kusama, terra
- cp_contracts
- show all smart contracts for given platform
CoinGecko
cg_global
usage: cg_global
Display global statistics about Crypto Market like: active_cryptocurrencies, upcoming_icos, ongoing_icos, ended_icos, markets, market_cap_change_percentage_24h, eth_market_cap_in_pct, btc_market_cap_in_pct, altcoin_market_cap_in_pct.
news
usage: cg_news [-t --top] [-s --sortby] [--descend] [-u --urls]
Shows latest news from https://www.coingecko.com/en/news. Display columns: index, title, author, posted columns.
You can sort by each of column above, using --sort parameter and also do it descending with --descend flag. It is
also possible to display urls to news with --links flag. If you want to display top 75 news, sorted by author use
cg_news -t 75 -s author if you want to see urls to source of the news use cg_news -t 75 -l
- -t/--top - number of news to display. One page of news contains 25 news, so to get 250 news script needs to scrape 10
pages (it can take some time). Default 100. E.g
news --top 150 - -s/--sortby - sort by given column. You can chose on from
index, title, author, posted - --descend - flag to sort in descending order (lowest first)
- -u/--urls - flag to show urls. Using this flag will add additional column with urls and display only
index, urlcolumns
cg_defi
usage: cg_defi
Shows global DeFi statistics. DeFi or Decentralized Finance refers to financial services that are built on top of distributed networks with no central intermediaries. Displays metrics like: defi_market_cap, eth_market_cap, defi_to_eth_ratio, trading_volume_24h, defi_dominance, top_coin_name, top_coin_defi_dominance.
cg_stables
usage: cg_stables [-t --top] [-s --sortby] [--descend] [-u --urls]
Shows stablecoins by market capitalization. Stablecoins are cryptocurrencies that attempt to peg their market value to some external reference like the U.S. dollar or to a commodity's price such as gold.
- -t/--top - number of coins to display. To display top 10 coins:
cg_stables --top 10 --sortby rank - -s/--sortby - sort by given column. You can sort data by
rank, name, symbol, price, change_24h, exchanges, market_cap, change_30d - --descend - flag to sort in descending order (lowest first)
- -u/--urls - flag to show urls. Using this flag will add additional column with urls e.g.
cg_stables --links. If you will use this flagrank, name, symbol, urlcolumns will be displayed.
cg_nft_today
usage: cg_nft_today
Get Non-fungible Token of the Day. Everyday on CoinGecko there is chosen new NFT. NFT (Non-fungible Token) refers to
digital assets with unique characteristics. Examples of NFT include crypto artwork, collectibles, game items, financial
products, and more. cg_nft_today command you will display: author, description, url, img url.
cg_nft
usage: nft
Get current state of NFTs market. NFT (Non-fungible Token) refers to digital assets with unique characteristics.
Examples of NFT include crypto artwork, collectibles, game items, financial products, and more.
cg_nft will display: NFT Market Cap, 24h Trading Volume, NFT Dominance vs Global market, Theta Network NFT Dominance.
cg_exchanges
usage: cg_exchanges [-t --top] [-s --sortby] [--descend] [-u --urls]
Shows top crypto exchanges base on trust score.
- -t/--top - number of exchanges to display. To display top 10 exchanges by trust_score:
cg_exchanges --top 10 --sortby trust_score --descend - -s/--sortby - sort by given column. You can sort data by
rank, trust_score, id, name, country, established, trade_volume_24h_btc - --descend - flag to sort in descending order (lowest first)
- -u/--urls - flag to show urls. Using this flag will add additional column with urls e.g.
cg_exchanges --links. Usinglinksparameter will display onlyrank, name, urlcolumns
cg_exrates
usage: cg_exrates [-t --top] [-s --sortby] [--descend]
Shows list of crypto, fiats, commodity exchange rates from CoinGecko
- -t/--top - number of exchanges to display. To display top 10 exchanges by trust_score:
cg_exrates --top 10 --sortby name --descend - -s/--sortby - sort by given column. You can sort by
index,name,unit, value, type - --descend - flag to sort in descending order (lowest first)
platforms
usage: cg_platforms [-t --top] [-s --sortby] [--descend]
Shows Top Crypto Financial Platforms in which you can borrow or lend your crypto e.g. Celsius, Nexo, Crypto.com, Aave and others.
- -t/--top - number of crypto platforms to display. To display top 10 platforms:
cg_platforms --top 10 --sortby name - -s/--sortby - sort by given column. You can sort data by
rank, name, category, centralized - --descend - flag to sort in descending order (lowest first)
cg_products
usage: cg_products [-t --top] [-s --sortby] [--descend]
Shows Top Crypto Financial Products with which you can earn yield, borrow or lend your crypto.
- -t/--top - number of crypto products to display. To display top 10 products:
cg_products --top 10 --sortby name - -s/--sortby - sort by given column. You can sort data by
rank, platform, identifier, supply_rate_percentage, borrow_rate_percentage - --descend - flag to sort in descending order (lowest first)
indexes
usage: cg_indexes [-t --top] [-s --sortby] [--descend]
Shows list of crypto indexes from CoinGecko.Each crypto index is made up of a selection of cryptocurrencies, grouped together and weighted by market cap.
- -t/--top - number of crypto indexes to display. To display top 10 indexes:
cg_indexes --top 10 --sortby name - -s/--sortby - sort by given column. You can sort data by
rank, name, id, market, last, is_multi_asset_composite - --descend - flag to sort in descending order (lowest first)
cg_derivatives
usage: cg_derivatives [-t --top] [-s --sortby] [--descend]
Shows list of crypto derivatives from CoinGecko. Crypto derivatives are secondary contracts or financial tools that derive their value from a primary underlying asset. In this case, the primary asset would be a cryptocurrency such as Bitcoin. The most popular crypto derivatives are crypto futures, crypto options, and perpetual contracts.
- -t/--top - number of crypto derivatives to display. To display top 10 derivatives:
cg_derivatives --top 10 --sortby symbol - -s/--sortby - sort by given column. You can sort by
rank, market, symbol, price, pct_change_24h, contract_type, basis, spread, funding_rate, volume_24h - --descend - flag to sort in descending order (lowest first)
cg_categories
usage: cg_categories [-t --top] [-s --sortby] [--descend] [-u --urls]
Shows top cryptocurrency categories by market capitalization from https://www.coingecko.com/en/categories It includes categories like: stablecoins, defi, solana ecosystem, polkadot ecosystem and many others.
- -t/--top - number of crypto categories to display. To display top 10 crypto categories:
cg_categories --top 10 --sortby rank - -s/--sortby - sort by given column. You can sort by
rank, name, change_1h, change_24h, change_7d, market_cap, volume_24h, n_of_coins - --descend - flag to sort in descending order (lowest first)
- -u/--urls - flag to show urls. Using this flag will add additional column with urls e.g.
cg_categories --links. Usinglinksparameter will display onlyrank, name, urlcolumns
cg_hold
usage: cg_hold [-c --coin]
Shows overview of public companies that holds ethereum or bitcoin Displays most important metrics like: Total Bitcoin/Ethereum Holdings, Total Value (USD), Public Companies Bitcoin/Ethereum Dominance, Companies.
- -c/--coin - chose a coin. Only available for ethereum or bitcoin. If you want to see overview of public companies
that holds ethereum use
hold --coin ethereumfor bitcoinhold --coin bitcoin
cg_companies
usage: cg_companies [-c --coin] [- --links]
Shows Ethereum/Bitcoin Holdings by Public Companies. Track publicly traded companies around the world that are buying ethereum as part of corporate treasury
- -c/--coin - chose a coin. Only available for ethereum or bitcoin. List of public companies that holds ethereum
cg_companies --coin ethereumfor bitcoincg_companies --coin bitcoin - -u/--urls - You can use additional flag
--linksto see urls to announcement about buying btc or eth by given company. In this case of usagelinksonly columnsrank, company, urlwill be displayed
CoinPaprika
cp_global
usage: cp_global
Show most important global crypto statistics like: market_cap_usd, volume_24h_usd, bitcoin_dominance_percentage, cryptocurrencies_number, market_cap_ath_value, market_cap_ath_date, volume_24h_ath_value, volume_24h_ath_date, market_cap_change_24h, volume_24h_change_24h, last_updated
cp_info
usage: cp_info [-t --top] [-s --sort] [--descend]
Show basic coin information for all coins from CoinPaprika
- --vs: The currency to look against. Available options are:
BTC,ETH,USD,EUR,PLN,KRW,GBP,CAD,JPY,RUB,TRY,NZD,AUD,CHF,UAH,HKD,SGD,NGN,PHP,MXN,BRL,THB,CLP,CNY,CZK,DKK,HUF,IDR,ILS,INR,MYR,NOK,PKR,SEK,TWD,ZAR,VND,BOB,COP,PEN,ARS,ISK. Default: USD - -t/--top: Number of coins to display. To display top 10 coins:
cp_info --top 10 --sort rank - -s/--sort: Sort by given column. You can chose on from
rank, name, symbol, price, volume_24h, circulating_supply, total_supply, max_supply, ath_price,market_cap, beta_value. - --descend: Flag to sort in descending order (lowest first)
cp_markets
usage: cp_markets [--vs] [-t --top] [-s --sort] [--descend]
Show market related (price, supply, volume) coin information for all coins on CoinPaprika
- --vs: The currency to look against. Available options are:
BTC,ETH,USD,EUR,PLN,KRW,GBP,CAD,JPY,RUB,TRY,NZD,AUD,CHF,UAH,HKD,SGD,NGN,PHP,MXN,BRL,THB,CLP,CNY,CZK,DKK,HUF,IDR,ILS,INR,MYR,NOK,PKR,SEK,TWD,ZAR,VND,BOB,COP,PEN,ARS,ISK. Default: USD - -t/--top: Number of coins to display. To display top 10 coins:
cp_markets --top 10 --sort rank - -s/--sort: Sort by given column. You can chose on from
rank, name, symbol, price, volume_24h, mcap_change_24h, pct_change_1h, pct_change_24h, ath_price, pct_from_ath. - --descend: Flag to sort in descending order (lowest first)
cp_exchanges
usage: cp_exchanges [--vs] [-t --top] [-s --sort] [--descend]
Show all exchanges from CoinPaprika
- --vs: The currency to look against. Available options are:
BTC,ETH,USD,EUR,PLN,KRW,GBP,CAD,JPY,RUB,TRY,NZD,AUD,CHF,UAH,HKD,SGD,NGN,PHP,MXN,BRL,THB,CLP,CNY,CZK,DKK,HUF,IDR,ILS,INR,MYR,NOK,PKR,SEK,TWD,ZAR,VND,BOB,COP,PEN,ARS,ISK. Default: USD - -t/--top: Number of coins to display. To display top 10 coins:
cp_exchanges --top 10 --sort rank - -s/--sort: Sort by given column. You can chose on from
rank, name, currencies, markets, fiats, confidence, volume_24h, volume_7d, volume_30d, sessions_per_month. - --descend: Flag to sort in descending order (lowest first)
cp_exmarkets
usage: cp_exmarkets [-e --exchange] [-t --top] [-s --sort] [--descend] [-u --urls]
Get all exchange markets found for given exchange
- -e/--exchange: Identifier of exchange e.g for Binance Exchange:
binance - -t/--top: Number of markets to display. To display top 10 markets:
cp_exmarkets --top 10 --sort reported_volume_24h_share - -s/--sort: Sort by given column. You can chose on from
pair , base_currency_name, quote_currency_name, category, reported_volume_24h_share, trust_score, market_url. - --descend: Flag to sort in descending order (lowest first)
- -u/--urls: Flag to show urls. Using this flag will add additional column with urls e.g.
cp_exmarkets --links. If you will use this flag url column will be displayed.
cp_platforms
usage: cp_platforms
List all smart contract platforms like ethereum, solana, cosmos, eos
cp_contracts
usage: cp_contracts [-p --platform] [-t --top] [-s --sort] [--descend]
Gets all contract addresses for given blockchain platform
- -p/--platform: smart contract platform id. Available coins:
btc-bitcoin, eos-eos, eth-ethereum, xrp-xrp, bch-bitcoin-cash, xem-nem, neo-neo, xlm-stellar, etc-ethereum-classic,
qtum-qtum, zec-zcash, bts-bitshares, waves-waves, nxt-nxt, act-achain, ubq-ubiq, xcp-counterparty, etp-metaverse-etp,
burst-burst, omni-omni, trx-tron, bnb-binance-coin, ardr-ardor, ht-huobi-token, blvr-believer, cake-pa
ncakeswap, fsxu-flashx-ultra, chik-chickenkebab-finance, jgn-juggernaut7492, crx-cryptex, whirl-whirl-finance,
eubi-eubi-token, swam-swapmatic-token, shells-shells
- -t/--top: Number of smart contracts to display. To display 10 smart contracts:
cp_contracts -p eth-ethereum --top 10 --sort index - -s/--sort: Sort by given column. You can chose on from
index, id, type, active, address. - --descend: Flag to sort in descending order (lowest first)














