Git Product home page Git Product logo

nimfinlib's Introduction

NimFinLib

nimble Join the chat at https://gitter.im/qqtop/NimFinLib

Financial Library for Nim

(Work in Progress)

Description:

         Now using historic data via free apikey from Alpha Vantage. 
         Basic data fetching and data display is working.
         The indicator API does return data for some markets like USA , UK
         but not yet for others like Germany , Hongkong etc.
         The plan is to add portfolio management and analysis.
         Basic charts can currently be displayed via gnuplot.

Update Apr. 2018 :

         Data drawn from the API still seems to have occasional holes 
         especially for non US market stocks or is not available all
         the time . Often two or more hits are needed for the API
         to return data . Sometimes the API returns error messages
         of being hit too fast , despite one hit per second being
         the advertised capability and sufficient time spacing on the
         client side.
         Indicator data returns json data fine , but currently only for certain US stocks. 
         Batch fetching of stock data only works for US market components and may return
         a default timestamp of 1969 during off trading hours.

Update Oct. 2018

        Data quality and speed has slightly improved , unfortunately the free apikey now has a
        standard call-frequency limit of 4-5 requests per minute , which is much too low
        for any reasonable work.
        Of course there is the premium option which allows more requests / minute. 
        Kitco metal prices are not effected by this call limit . 
        The library has been updated to work with nim 0.19.x 
        If sudden crashes occure see : cat /dev/shm/avdata.csv
        most likely reason is inserted nagging lines by the api to ask for registration
        and once registered ask to visit their premium site.

Update Feb. 2019

        Made the library compile with latest nim devel
        Call frequency limit stated above has unfortunately not improved so far.
        The current nagging line is:
           "Thank you for using Alpha Vantage! Our standard API call frequency is 5 
           calls per minute and 500 calls per day."
        
        Another option may be IEX https://iextrading.com/developer
        a very limited free plan appears to be available

Update Jan. 2021

        Library works with Nim 1.5.1
Library Status Version License OS Compiler
nimFinLib Development 0.3.0.x MIT opensource Linux Nim >= 1.4.2

Data gathering and calculations support

          Alpha Vantage Api support            
          
                     
          Dataframe for display and easy working with dataseries
          
          Multiple accounts and portfolios management
          
          Returns calculations and more
          
          Williams R% calculation
          
          Indicator displays
                  
          Kitco Metal Prices    
          
          US market spot prices
          
          Digital currencies 5 min intraday prices .               

API Docs

  Planned to be in
  
  http://qqtop.github.io/nimFinLib.html

  # http://qqtop.github.io/libFinHk.html

Tests and Examples

  nimexrates  
  nfT53       
  nfT55  
  nfT60     
  nimmetal    

Requirements

  nimcx         nimble install nimcx
  
  nimdataframe  nimble install https://github.com/qqtop/nimdataframe.git

Installation

  nimble install nimFinLib 
  
  Note : it is always a good idea to install the latest libraries

Image
Example screen from quickStock.nim

Image
Example screen from nfT58.nim

Image
Example screen from quickSpot.nim showing some quotes for Vanguard components.

Image
Example screen from an attempt to plot williams R indicator output plotting is done via gnuplot.nim ex https://github.com/dvolk/gnuplot.nim

Image

Image

Image Example screen from nfT53.nim

Image Example screen from nfT55.nim displaying SMA,WMA,EMA Indicator data

Below screenshots of nimFinLib usage prior to demise of Yahoo Finance API on Nov 1 2017.

Image Example screen from nfT50.nim

Image Example screen from minifin.nim

NOTE :

 Improvements may be made at any time.              
 Forking ,testing, suggestions ,ideas are welcome.
 This is development code , use at your own risk.
 
 
 
 Tested on openSuse TumbleWeed, Debian Testing

Image qqTop - 2021

nimfinlib's People

Contributors

gitter-badger avatar qqtop avatar tcljmt avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.