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

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

Owner
Similar Resources

🏛 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

Dec 27, 2022

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,

Dec 30, 2022

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

Jul 28, 2022

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

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

Jun 2, 2022

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

Jan 6, 2023

Pacemaker - Rate limit library. Currently implemented rate limits are

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

Nov 5, 2022

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

Dec 31, 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

Dec 28, 2022

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

Feb 18, 2022

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

Jan 21, 2022

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.

Nov 29, 2022

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.

Dec 21, 2021

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

Jun 1, 2022

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

Jan 28, 2022

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

Feb 14, 2022

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.

Nov 29, 2022

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

Sep 27, 2022

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

Nov 28, 2022

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.

Dec 4, 2022
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

  • 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

  • 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!

  • 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

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

Dec 31, 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

Dec 28, 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

Dec 21, 2022
Go implementation of Fowler's Money pattern
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

Jan 3, 2023
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

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

Dec 25, 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

Jan 3, 2023
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

Dec 28, 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

Dec 30, 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

Jan 12, 2022