A fund administration application created in C#. Currently in pre-alpha stage
View Demo
·
Report Bug
·
Request Feature
Table of Contents
During my programming journey I have wanted to apply my knowledge and experience in the financial industry with the various resources available to me. This project (PortfolioAce) is currently a work in progress but i eventually hope for it to become a complete open source portfolio management solution for anyone.
Features:
- Valuation and performance calculations for FX Forwards, Equities and Cryptocurrencies.
- Management and Performance fee calculations taking the Hurdle rate (soft or hard) and/or High-Water Mark into consideration.
- Lock and Unlock Accounting Periods
- Data Metrics at a fund and position level.
- Export data to CSV, TXT or JSON files.
As this is currently a work in progress i still need to implement testing and create more flexibility around these features.
The UI was written in XAML using the WPF Framework and the Business Logic is written in C# using .NET Core 3.1. This application relies on SQLite for storage.
To get a local copy up and running follow these simple example steps.
This is an example of how to list things you need to use the software and how to install them. All dependencies are available via the NuGet package manager:
- LiveCharts
- ServiceStack
- CsvHelper
- DataGridExtensions
- MaterialDesignThemes
- MaterialDesignExtension
- Entity Framework Core (3.1.9)
- Entity Framework Core Tools (3.1.9)
- Entity Framework Core Sqlite (3.1.9)
- Clone the repository
git clone https://github.com/RamonWill/PortfolioAce.git
- Install the dependencies via NuGet
In order to get security prices this application relies on Alpha Vantage. The eventual goal is for this application to also support the services offered by Financial Modelling Prep. Free API Keys for these data providers can be found below:
Coming Soon
A lot of things need to be implemented all whilst I learn best practices and system design. All contributions no matter how small are greatly appreciated.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Distributed under the GNU General Public License v3. See LICENSE
for more information.
Project Link: https://github.com/RamonWill/PortfolioAce
- Icons8
- Img Shields
- Free Logo Design
- SingletonSean YT
- DataGridExtensions
- Material Desing in XAML
- WPF AutoComplete TextBox