All Projects → AB-CE → abcFinance

AB-CE / abcFinance

Licence: Apache-2.0 license
Agent-based computational Finance

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to abcFinance

ESL
​The Economic Simulation Library provides an extensive collection of tools to develop, test, analyse and calibrate economic and financial agent-based models. The library is designed to take advantage of different computer architectures. In order to facilitate rapid iteration during model development the library can use parallel computation. Econ…
Stars: ✭ 36 (+33.33%)
Mutual labels:  economics, agent-based-modeling
housing-model
Agent-based model of the UK housing market.
Stars: ✭ 29 (+7.41%)
Mutual labels:  economics, agent-based-modeling
Mostly Harmless Replication
Replication of tables and figures from "Mostly Harmless Econometrics" in Stata, R, Python and Julia.
Stars: ✭ 337 (+1148.15%)
Mutual labels:  economics
Appelpy
Applied Econometrics Library for Python
Stars: ✭ 136 (+403.7%)
Mutual labels:  economics
Econml
ALICE (Automated Learning and Intelligence for Causation and Economics) is a Microsoft Research project aimed at applying Artificial Intelligence concepts to economic decision making. One of its goals is to build a toolkit that combines state-of-the-art machine learning techniques with econometrics in order to bring automation to complex causal inference problems. To date, the ALICE Python SDK (econml) implements orthogonal machine learning algorithms such as the double machine learning work of Chernozhukov et al. This toolkit is designed to measure the causal effect of some treatment variable(s) t on an outcome variable y, controlling for a set of features x.
Stars: ✭ 1,238 (+4485.19%)
Mutual labels:  economics
Dsge.jl
Solve and estimate Dynamic Stochastic General Equilibrium models (including the New York Fed DSGE)
Stars: ✭ 625 (+2214.81%)
Mutual labels:  economics
Gcam Core
GCAM -- The Global Change Analysis Model
Stars: ✭ 100 (+270.37%)
Mutual labels:  economics
0xdeca10b
Sharing Updatable Models (SUM) on Blockchain
Stars: ✭ 285 (+955.56%)
Mutual labels:  economics
Books
Books worth spreading
Stars: ✭ 161 (+496.3%)
Mutual labels:  economics
Fecon236
Tools for financial economics. Curated wrapper over Python ecosystem. Source code for fecon235 Jupyter notebooks.
Stars: ✭ 72 (+166.67%)
Mutual labels:  economics
Fixedeffectmodels.jl
Fast Estimation of Linear Models with IV and High Dimensional Categorical Variables
Stars: ✭ 132 (+388.89%)
Mutual labels:  economics
Psid.jl
Quickly assemble data from the Panel Study of Income Dynamics (PSID)
Stars: ✭ 22 (-18.52%)
Mutual labels:  economics
Awesome Economics
A curated collection of links for economists
Stars: ✭ 688 (+2448.15%)
Mutual labels:  economics
Cgoes
Research by Carlos Góes
Stars: ✭ 105 (+288.89%)
Mutual labels:  economics
Ai Economist
Foundation is a flexible, modular, and composable framework to model socio-economic behaviors and dynamics with both agents and governments. This framework can be used in conjunction with reinforcement learning to learn optimal economic policies, as done by the AI Economist (https://www.einstein.ai/the-ai-economist).
Stars: ✭ 537 (+1888.89%)
Mutual labels:  economics
Lab.js
Online research made easy
Stars: ✭ 140 (+418.52%)
Mutual labels:  economics
Akshare
AKShare is an elegant and simple financial data interface library for Python, built for human beings! 开源财经数据接口库
Stars: ✭ 4,334 (+15951.85%)
Mutual labels:  economics
Mind Expanding Books
📚 Books everyone should read!
Stars: ✭ 7,151 (+26385.19%)
Mutual labels:  economics
Guide2econra
Stars: ✭ 86 (+218.52%)
Mutual labels:  economics
Microeconometrics.jl
Microeconometric estimation in Julia
Stars: ✭ 30 (+11.11%)
Mutual labels:  economics

Economic agent-based models with financial accounting

abcFinance (short for 'agent-based computational Finance') provides tools for using standard double-entry bookkeeping methods either directly or within an agent-based modelling framework. It is a sister library to the abcEconomics (agent-based computational Economics) library.

Direct use of double-entry bookkeeping tools

The Ledger class implements an accounting system. Booking statements are recorded through the book() method. The basic syntax works as follows:

accountingsystem = Ledger()
accountingsystem.make_stock_accounts('Assets', 'Liabilities')
accountingsystem.book(debit=[('Assets',100)], credit=[('Liabilities',100)]

where debit and credit are lists of tuples ('account', amount) of accounts that should be booked by amount on the debit and credit side, respectively. The total sum of debits and credits needs to be equal in one booking statement. Accounts have to be declared as either stock or flow accounts before they can be booked.

The balance sheet is composed of all stock accounts and includes an equity account whose name can be set using the optional residual_account_name flag in the constructor of Ledger. The profit and loss statement is composed of all flow accounts. It can be viewed using the print_profit_and_loss() statement. The profit or loss for the period can be booked against equity using the book_end_of_period() method, which also resets all flow accounts. The balance sheet can be printed using the print_balance_sheet() method. draw_balance_sheet() returns the string representation of an SVG image of the balance sheet. Several other helpful methods are available.

Extensive examples can be found in the examples\money_creation folder.

Use in an agent-based modelling system

The Ledger class can be used as an attribute for an Agent class in an agent-based modelling system, enabling the use of financial accounting within agent-based models. One implementation is provided in the form of the AbcFinanceAgent class, which inherits from the Agent class in the abcEconomics library. abcEconomics is designed to be compatible with abcFinance and provides several methods to facilitate the use of abcFinance methods in agent-based models. The accounting system provided in abcFinance can in principle be used with any agent-based modelling system.

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