All Projects → utkarshohm → mf-models

utkarshohm / mf-models

Licence: MIT License
Models (data structures) required to make a mutual fund investment platform

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to mf-models

mf-nav-data
Historical NAV/price/time-series data of mutual funds and popular benchmark indices in India
Stars: ✭ 29 (+38.1%)
Mutual labels:  fintech, mutual-funds
mangopay2-java-sdk
Java SDK for MANGOPAY
Stars: ✭ 23 (+9.52%)
Mutual labels:  fintech
payantNG-php
PHP Library for PayantNG
Stars: ✭ 14 (-33.33%)
Mutual labels:  fintech
read 13f
Read 13f filings and present them in a useful form such as a database.
Stars: ✭ 29 (+38.1%)
Mutual labels:  fintech
bitcoin-ux
💅💸 Ongoing assessment of bitcoin payments and privacy UX for @BitcoinDesign Community as well as tools to help designers understand the underlying protocols and specifications.
Stars: ✭ 39 (+85.71%)
Mutual labels:  fintech
wire
FedWire funds service file parser and writer. The HTTP server is available in a Docker image and the Go package is available.
Stars: ✭ 52 (+147.62%)
Mutual labels:  fintech
fints-institute-db
Database of German Banks and their HBCI / FinTS endpoints
Stars: ✭ 28 (+33.33%)
Mutual labels:  fintech
FinRL
FinRL: The first open-source project for financial reinforcement learning. Please star. 🔥
Stars: ✭ 3,497 (+16552.38%)
Mutual labels:  fintech
Forecasting Mutual Funds
This Project gives you an overall idea for Forecasting Mutual Funds
Stars: ✭ 15 (-28.57%)
Mutual labels:  mutual-funds
finmath
The collections of simple, weighted, exponential, smoothed moving averages.
Stars: ✭ 49 (+133.33%)
Mutual labels:  fintech
costa-rica-iban
Funciones utiles para extraer y validar información general de números de cuenta IBAN de Costa Rica
Stars: ✭ 16 (-23.81%)
Mutual labels:  fintech
intrinio-realtime-python-sdk
Intrinio Python SDK for Real-Time Stock Prices
Stars: ✭ 79 (+276.19%)
Mutual labels:  fintech
mangopay2-python-sdk
SDK Python for MANGOPAY
Stars: ✭ 31 (+47.62%)
Mutual labels:  fintech
DeepDayTrade
Stock Price Predictor
Stars: ✭ 25 (+19.05%)
Mutual labels:  fintech
Personal-Finance-Net-Worth-Tracker
Personal Finance (Net Worth Tracker) Wealth Management Spreadsheet
Stars: ✭ 31 (+47.62%)
Mutual labels:  fintech
mangopay2-net-sdk
.Net SDK for MANGOPAY
Stars: ✭ 19 (-9.52%)
Mutual labels:  fintech
starling-developer-sdk
The official JavaScript development kit for building on the Starling API
Stars: ✭ 45 (+114.29%)
Mutual labels:  fintech
moreThanFAANGM
This repository contains opportunities for you to apply to more than 300 product base companies(NOT JUST FAANGM) & good start-ups.
Stars: ✭ 2,609 (+12323.81%)
Mutual labels:  fintech
awesome-waves
Curated list of awesome things for development on Waves blockchain.
Stars: ✭ 60 (+185.71%)
Mutual labels:  fintech
accounts
accounts - General Ledger and financial account service with an HTTP API
Stars: ✭ 39 (+85.71%)
Mutual labels:  fintech

mf-models

Models (data structures) required to make a mutual fund investment platform

Context

Real-life application of library

I built and operated a mutual fund investing platform as an AMFI licensed mutual fund distributor for a year. I used this library to store all my data. Since my investing website was built on django, I have used django models. You can build this platform without or with any other framework of your choice.

Open source in fintech?!

The finance industry believes that differentiation in fintech can come from building an execution/transaction platform. I believe that, on the contrary, execution will soon be commoditized and differentiation will come from better products, ease of their use and large-scale distribution. This is why I am open-sourcing my whole mutual fund execution platform, and these models are just its subset.

Models

Data structure

4 key data structures are necessary for a mutual fund transaction platform. Regulations require to carefully archive this data for 5 years.

  • funds.py stores mutual fund schemes' official SID details, ratings, returns, owner, rta, managers, benchmark indices, portfolio and history.
  • graphs.py stores time series data of funds and indices (like BSE Sensex, SBI fixed deposit rate), at daily frequency.
  • users.py stores kyc, bank, fatca and mandate details for each investor.
  • transactions.py stores each purcahse/redeem transaction's key details incl status, datetime stamps, payment details, corresponding API queries made to BSEStarMF and corresponding responses received. The BSE tables are used for the placing transactions through BSEStarMF API.

Choice of database

Relational data

I used a relational database MySQL to store all funds, users and transactions data. PostgreSQL would also be a great choice. This ER diagram should help. ER diagram

Time series data

I chose document database MongoDB to store the graphs models. Every scheme was a document because time series data was mostly requested fund-by-fund for graph visualisations. Note that aggregates of risk and return like average return etc are periodically calculated on top of the time series data and stored in funds models. Time series databases like Druid and InfluxDB would have been good options too.

Related repos

Need help setting this up or want to contribute?

Feel free to raise an issue and I will get back asap

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