Go library containing a collection of financial functions for time value of money (annuities), cash flow, interest rate conversions, bonds and depreciation calculations.

Overview

go-finance GoDoc Go Report Card

Go library containing a collection of financial functions for time value of money (annuities), cash flow, interest rate conversions, bonds and depreciation calculations.

List of functions

Rates

Cashflow

TVM

Bonds

Depreciation

Docs

Checkout the full docs.

Also check this excellent blog post Learning finance concepts using go-finance for some examples and a general intro.

License

Mozilla Public License 2.0

You might also like...
🏛 A scriptable financial ledger, designed to make it easy to model complex financial transactions
🏛 A scriptable financial ledger, designed to make it easy to model complex financial transactions

Numary Ledger Numary is a programmable financial ledger that wants to make building financial apps safe, fun and cheap. Building financial software is

A library for performing OAuth Device flow and Web application flow in Go client apps.
A library for performing OAuth Device flow and Web application flow in Go client apps.

oauth A library for Go client applications that need to perform OAuth authorization against a server, typically GitHub.com. Traditionally,

A limited Flow Access API which runs outside of the Flow Network using the DPS

Access API Flow DPS implements the Flow Access API Specification, except for the following endpoints: SendTransaction GetLatestProtocolStateSnapshot G

A concurrent rate limiter library for Golang based on Sliding-Window rate limiter algorithm.

ratelimiter A generic concurrent rate limiter library for Golang based on Sliding-window rate limitng algorithm. The implementation of rate-limiter al

Pacemaker - Rate limit library. Currently implemented rate limits are

PaceMaker Rate limit library. Currently implemented rate limits are Fixed window

Go-Utils is a library containing a collection of Golang utilities

Go-Utils is a library containing a collection of Golang utilities

A go port of numpy-financial functions and more.

go-financial This package is a go native port of the numpy-financial package with some additional helper functions. The functions in this package are

Simple and easy to use client for stock market, forex and crypto data from finnhub.io written in Go. Access real-time financial market data from 60+ stock exchanges, 10 forex brokers, and 15+ crypto exchanges

go-finnhub Simple and easy to use client for stock, forex and crpyto data from finnhub.io written in Go. Access real-time market data from 60+ stock e

A very simple rate limiter in go, made as a learning project to learn go and rate limiting patterns!
A very simple rate limiter in go, made as a learning project to learn go and rate limiting patterns!

rate-limiter-go A very simple rate limiter in go, made as a learning project to learn go and rate limiting patterns! Demo: Running the project: To exe

A library containing useful functions for working with Go types.

Go Type Tools A library containing useful functions for working with Go types. Table of Contents Reasoning Examples Array Map Int String Usage License

Gosfdc module - a collection of packages containing the data structures from the various Salesforce APIs and Tools

Gosfdc module - a collection of packages containing the data structures from the various Salesforce APIs and Tools

Docker-hub-rate-limit - Show pulling rate status of Docker-hub

Docker-Hub Pull Rate Status This tool shows current status of docker hub pull ra

Redis-rate-limiter - An abstraction over redist rate/v9 package

RATE_LIMIT_POC Notes This POC is based on github.com/go-redis/redis_rate/v9 pack

Fast conversions across various Go types with a simple API.

Go Package: conv Get: go get -u github.com/cstockton/go-conv Example: // Basic types if got, err := conv.Bool(`TRUE`); err == nil { fmt.Printf("conv.

Common case conversions covering common initialisms.

kace go get "github.com/codemodus/kace" Package kace provides common case conversion functions which take into consideration common initialisms. Usag

Remove unnecessary type conversions from Go source

About The unconvert program analyzes Go packages to identify unnecessary type conversions; i.e., expressions T(x) where x already has type T. Install

Moeing chain is an EVM&Web3 compatible sidechain for Bitcoin Cash

Full node client of smartBCH This repository contains the code of the full node client of smartBCH, an EVM&Web3 compatible sidechain for Bitcoin Cash.

CSPFinder is a tool to compare ROI of selling Cash Secure Put options between different tickers for different expiry dates.

CSPFinder is a tool to compare ROI of selling Cash Secure Put options between different tickers for different expiry dates. It is intended to help open new cash secured put positions.

go-simple-geo is a library for simple geo calculations.

go-simple-geo is a library for simple geo calculations. Installation go get github.com/EpicStep/go-simple-geo Example package main import ( "github.

Comments
  • Add cashflow ScheduledInternalRateOfReturn

    Add cashflow ScheduledInternalRateOfReturn

    This is the implementation of Excel's XIRR function. It is very similar to IRR, the only difference being that this one takes payment dates into account.

    I also took the opportunity to make a small simplification to dNetPresentValue's formula.

    See: https://support.office.com/en-us/article/xirr-function-de1242ec-6477-445b-b11b-a303ad9adc9d See: https://support.office.com/en-us/article/xnpv-function-1b42bbf6-370f-4532-a0eb-d67c16b664b7

    opened by brunoyb 5
  • Test PriceDiscount() failed

    Test PriceDiscount() failed

    Running tool: /usr/local/go/bin/go test -timeout 30s -coverprofile=/var/folders/9r/2trm49kn7vxc6rx_2659xkx80000gn/T/vscode-goGuEEhk/go-code-cover github.com/alpeb/go-finance/fin

    --- FAIL: TestPriceDiscount (0.00s) /Users/tom/go/src/github.com/alpeb/go-finance/fin/bonds_test.go:130: PriceDiscount(1203120000, 1204329600, 0.052500, 100.000000, 0) = 99.781250 /Users/tom/go/src/github.com/alpeb/go-finance/fin/bonds_test.go:130: PriceDiscount(1203120000, 1204329600, 0.052500, 100.000000, 4) = 99.781250 FAIL coverage: 93.3% of statements FAIL github.com/alpeb/go-finance/fin 0.004s FAIL

    opened by mrtomyum 2
  • Go-finance blog post

    Go-finance blog post

    Hey @alpeb ,

    I really liked your library and wrote a post about it here: https://blog.aawadia.dev/2020/11/30/finance-concepts-go-finance/

    Could I get a link in the readme for it? It can serve as documentation examples for the library

    Thanks!

    opened by asad-awadia 1
  • logs should not start with upper case

    logs should not start with upper case

    https://github.com/golang/go/wiki/CodeReviewComments#error-strings

    Just about all of the log do not conform to idiomatic Go. Errors should not start with uppercase letters or end with punctuation.

    I will submit a PR for this in a min

    opened by dtoebe 1
Owner
Alejandro Pedraza
Alejandro Pedraza
A go port of numpy-financial functions and more.

go-financial This package is a go native port of the numpy-financial package with some additional helper functions. The functions in this package are

Razorpay 269 Sep 17, 2022
Simple and easy to use client for stock market, forex and crypto data from finnhub.io written in Go. Access real-time financial market data from 60+ stock exchanges, 10 forex brokers, and 15+ crypto exchanges

go-finnhub Simple and easy to use client for stock, forex and crpyto data from finnhub.io written in Go. Access real-time market data from 60+ stock e

Miles Croxford 76 Sep 26, 2022
money and currency formatting for golang

accounting - money and currency formatting for golang accounting is a library for money and currency formatting. (inspired by accounting.js) Quick Sta

Kyoung-chan Lee 765 Sep 13, 2022
Go implementation of Fowler's Money pattern

Money GoMoney provides ability to work with monetary value using a currency's smallest unit. This package provides basic and precise Money operations

Raymond 1.2k Sep 14, 2022
Mobile Money API Handyman

pesakit pesakit is a highly configurable commandline tool that comes in handy during testing and development of systems that integrate with mobile mon

TECHCRAFT TECHNOLOGIES LIMITED 2 Nov 22, 2021
Go-finproto - a collection of finance-related protocols implemented in Golang

go-finproto go-finproto is a collection of finance-related protocols implemented

Mark Winter 7 Aug 29, 2022
Golang library for querying and parsing OFX

OFXGo OFXGo is a library for querying OFX servers and/or parsing the responses. It also provides an example command-line client to demonstrate the use

Aaron Lindsay 110 Sep 26, 2022
Payment abstraction library - one interface for multiple payment processors ( inspired by Ruby's ActiveMerchant )

Sleet Payment abstraction library - interact with different Payment Service Providers (PsP) with one unified interface. Installation go get github.com

Bolt 99 Sep 9, 2022
Technical Analysis Library for Golang

Techan TechAn is a technical analysis library for Go! It provides a suite of tools and frameworks to analyze financial data and make trading decisions

Steve Coffey 669 Sep 18, 2022
This is a backend of wallet app for personal spending and income management.

wallet-ap-graphql this is a backend of wallet app for personal spending and income management. technologies used: golang, graphql, postgres, redis, jw

Jamshid Ismoilov 0 Jan 12, 2022