javednissar / fingine Goto Github PK
View Code? Open in Web Editor NEWA personal finance simulation engine in Rust.
A personal finance simulation engine in Rust.
One's finances are affected by events. These events can include bi-weekly salary cheques, dividends, rent payments, and more. There are generally two types of events for our purposes, income events and expense events. For the simulation, there will be the notion of event streams which will generate an event for a particular day if it matches certain conditions. I'm also looking to implement the notion of scheduled events within the simulation.
A crate to make handling money easy for the purposes of finsim.
Modelling investment strategies and deciding asset allocation in response to events. This is probably best modelled as a struct that contains a binary function whose parameters are the relevant event and the current portfolio and the return value is the new portfolio.
For software engineers, equity is a common part of compensation. For public companies, equity can be reasonably be thought of as equivalent to cash but this isn't necessarily the case; public company stock can be sufficiently volatile that considering it to be equivalent to cash can be mistaken. For startups, it is useful to consider equity as worth nothing but if you're optimistic about the startup's chances, it might be worth it to think about the equity package as rising in value.
It probably isn't reasonable to expect folks to use this library straight from Rust. It's much better to add bindings to let this library be used elsewhere. These bindings should have plenty of docs to encourage folks to use it.
Build out a system for supporting tax calculations in the simulation. Since, I'm a software engineer it probably makes sense to focus on jurisdictions in Canada that I as a software engineer am likely to spend time in. America can be handled later.
deductions_map
internal in TaxRegime
TaxRegime
A financial simulation is impossible to build without the notion of a portfolio. A portfolio provides a mechanism to model the growth of one's capital assets. To model this properly, we need to also model assets, inflation, and registered accounts. To be clear here, registered accounts refers to special accounts with unique properties. The two target account types that are relevant for this ticket are the TFSA and the RRSP which are crucial tools for Canadian financial planning.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.