Science Score: 10.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
  • .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
    1 of 2 committers (50.0%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (8.9%) to scientific vocabulary
Last synced: 10 months ago · JSON representation

Repository

Basic Info
  • Host: GitHub
  • Owner: marcdelabarrera
  • Language: Python
  • Default Branch: main
  • Size: 827 KB
Statistics
  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • Open Issues: 0
  • Releases: 0
Created almost 4 years ago · Last pushed about 3 years ago
Metadata Files
Readme

README.md

dsolve

dsolve is a package to solve systems of dynamic equations in Python.

Sequence Space

$$F(X,\mathcal{E})=0$$

$$ft(x{t-1},x{t},x{t+1},\epsilon_t)=0\qquad \forall t$$

Symbolic

A package to solve systems of dynamic equations with Python. It understands $\LaTeX$ syntax and it requires minimum specifications from the user end. It solves problems of the form:

$$A0\begin{bmatrix}x{t+1}\ E{t}[p{t+1}]\end{bmatrix}=A1\begin{bmatrix}x{t}\ p{t}\end{bmatrix}+\gamma zt$$

with $xt$ given. Following Blanchard Kahn notation, $x{t}$ are state variables (known at time $t$) while $p{t}$ are forward-looking variables, and $zt$ are shocks with $Et[z{t+1}]=0$. The solver uses the Klein (2000) algorithm which allows for $A_0$ to be invertible.

Returns the matrix solution

$$pt=\Thetap xt+Nzt$$ $$x{t+1}=\Thetax xt+Lzt$$

and methods to plot impulse responses given a sequence of $z_t$

The main class of the package is Klein, which stores and solves the dynamic system. It takes a list of strings that are written as $\LaTeX$ equations, a dictionary that define the numeric values of the parameters, and the specification of x, p and z, specified as a list of $\LaTeX$ strings or a long string separated by commas.

Usage (for more examples check the notebook tutorial) ```python from dsolve.solvers import Klein

Your latex equations here as a list of strings

eq=[ '\pi{t}=\beta*E\pi{t+1}+\kappay{t}+u{t}', 'y{t}=Ey{t+1}+(1-\phi)E[\pi{t+1}]+\epsilon{t}', '\epsilon{t} = \rhov*\epsilon{t-1}+v{t}' ]

Your calibration here as a dictionary

calibration = {'\beta':0.98,'\kappa':0.1,'\phi':1.1,'\rho_v':0.8}

Define pre-determined variables, forward looking variables, and shocks as strings separated by commas or a list of strings.

x = '\epsilon{t-1}' p = '\pit, yt' z = 'vt, u_t'

system = Klein(eq = eq, x=x, p=p, z=z, calibration=calibration)

Simulate the inpulse response of a shock v{0}=0 for 12 periods when \epsilon{-1}=0

system.simulate(x0=0, z = {'v_{t}':1}, T=12) ```

Flexible input reading

The standarized way to write a variable is E_{t}[x_{s}] to represent the expectation of x_{s} at time t. but dsolve understands other formats. Ex_{s}, E[x_s] and Ex_s are quivalents to E_{t}[x_{s}], and the subscript t is assumed.

Greek symbols can be writen as \rho or just rho.

dsolve understands fractions and sums. \sum_{i=0}^{2}{x_{i,t}} produces x_{0,t}+x_{1,t}+x_{2,t} and fraction \frac{a}{b} produces (a)/(b)

Owner

  • Name: Marc de la Barrera i Bardalet
  • Login: marcdelabarrera
  • Kind: user
  • Location: Cambridge, MA

GitHub Events

Total
Last Year

Committers

Last synced: over 2 years ago

All Time
  • Total Commits: 93
  • Total Committers: 2
  • Avg Commits per committer: 46.5
  • Development Distribution Score (DDS): 0.011
Past Year
  • Commits: 40
  • Committers: 1
  • Avg Commits per committer: 40.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
marcdelabarrera m****a@m****u 92
marcdelabarrera 4****a 1
Committer Domains (Top 20 + Academic)
mit.edu: 1

Issues and Pull Requests

Last synced: 12 months ago

All Time
  • Total issues: 0
  • Total pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Total issue authors: 0
  • Total pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
Pull Request Authors
Top Labels
Issue Labels
Pull Request Labels

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 400 last-month
  • Total dependent packages: 1
  • Total dependent repositories: 2
  • Total versions: 22
  • Total maintainers: 1
pypi.org: dsolve

Solver of dynamic equations with forward looking variables

  • Versions: 22
  • Dependent Packages: 1
  • Dependent Repositories: 2
  • Downloads: 400 Last month
Rankings
Dependent packages count: 4.7%
Dependent repos count: 11.6%
Downloads: 14.6%
Average: 19.9%
Forks count: 29.8%
Stargazers count: 38.8%
Maintainers (1)
Last synced: 10 months ago

Dependencies

setup.py pypi
  • scipy *