mathsci / fecon236 Goto Github PK
View Code? Open in Web Editor NEWTools for financial economics. Curated wrapper over Python ecosystem. Source code for fecon235 Jupyter notebooks.
Home Page: https://git.io/econ
License: Other
Tools for financial economics. Curated wrapper over Python ecosystem. Source code for fecon235 Jupyter notebooks.
Home Page: https://git.io/econ
License: Other
For example, when retrieving the Dec 2019 Eurodollar futures contact:
>>> tmp = fe.get('CME/EDZ2019')
ValueError: INVALID symbol string or code variable.
Projects fecon235 and fecon236 have many data dependencies on the Quandl API, including but limited to, futures quotes.
December 4, 2018, Nasdaq Acquires Quandl
Nasdaq (Nasdaq: NDAQ) announced today it has acquired Quandl, Inc., a leading provider of alternative and core financial data. Quandl from over 350 sources to more than 30,000 active monthly users. The company offers a global database of alternative, financial and public data, including information on capital markets, energy, shipping, healthcare, education, demography, economics and society.
Nasdaq plans to combine Quandl with its existing Analytics Hub business within Global Information Services.
Terms of the deal were not disclosed, but this investment is consistent with both Nasdaq’s strategy to maximize opportunities as a technology and analytics provider to capital markets, as well as its capital deployment and return on investment capital objectives.
Matthew Sheahan
Phone Number: + 1 212 231 5945
Email: [email protected]
Problem started recently, but not in older versions
Problem happens with all files, not only some files
Problem can be reliably reproduced
Problem happens randomly
fecon236 version: 10.8.0
Python version: 2.7 and 3 series
Operating system: All
Until advised otherwise, we will assume that the Quandl data will be behind paywalls (Nasdaq's Analytics Hub).
Travis build 63 fail: https://travis-ci.org/MathSci/fecon236/builds/393443445
In the fred module, holtwinters.ema() is called to smooth data.
In the holtwinters module, hostess.get() is called to retrieve data.
But the hostess module relies on fred.getfred() in the fred module.
[... continued from fecon235, https://github.com/rsvp/fecon235/issues/9]
Home for our Jupyter notebooks shall remain at fecon235 due to their bulky size. Migration to the python3 kernel should present no problems since fecon235 has been compatible with both python27 and python3.
Version 10 of fecon236 represents the refactoring of only the fecon235 v5.18.0312 library code (not the Jupyter notebooks). It shall maintain compatibility with both python27 and python34.
After 2019-01-01, our official support for python27 will discontinue (following policy at numpy and pandas), however, straddling code may still continue to work.
Version 11 of fecon236 will signal when our Travis builds under python27 fail, and at that point we expect to require at least Python 3.6.
In-progress
Discussion thread for fecon236 documentation (from #4)
I have an initial Sphinx documentation implementation in the fecon-docs repository, which in part uses the sphinx-autodoc extension to render the docstrings ("auto-documentation"). There are also small sections which I have built out (such as FRED Codes) for additional context.
The repository is setup to use TravisCI with doctr for CI and CD to Github pages. The travis build lints the documentation source, though I do need to explore options for linting the docstrings themselves (there are a few, each of which have pros and cons).
The documentation will be structured as a one-to-one mirror of the modules used in fecon236:
Implementation will begin as auto-documentation of each fecon236 module.
In order to complete this process, it is easiest to convert all docstrings to the numpydoc format. An initial implementation of these conversions has been completed (see pull requests #10 through #24)
ATTN mention: @rsvp
Travis build 118 on 2018-11-09 has failed -- solely due to fecon236/dst/gaussmix.py -- diagnosis and remedy are discussed herein.
No SyntaxError was expected.
$ flake8 --version
3.6.0 (mccabe: 0.6.1, pycodestyle: 2.4.0, pyflakes: 2.0.0) CPython 2.7.15 on Linux
The command "flake8 --version" exited with 0.
$ flake8 fecon236
fecon236/dst/gaussmix.py:66:-1721: W605 invalid escape sequence '\s'
fecon236/dst/gaussmix.py:66:-1494: W605 invalid escape sequence '\s'
fecon236/dst/gaussmix.py:66:-1483: W605 invalid escape sequence '\s'
fecon236/dst/gaussmix.py:66:-1474: W605 invalid escape sequence '\s'
fecon236/dst/gaussmix.py:66:-1417: W605 invalid escape sequence '\s'
fecon236/dst/gaussmix.py:66:-1319: W605 invalid escape sequence '\s'
fecon236/dst/gaussmix.py:66:-1307: W605 invalid escape sequence '\s'
fecon236/dst/gaussmix.py:66:-1293: W605 invalid escape sequence '\s'
fecon236/dst/gaussmix.py:66:-1284: W605 invalid escape sequence '\s'
fecon236/dst/gaussmix.py:66:-934: W605 invalid escape sequence '\k'
fecon236/dst/gaussmix.py:66:-822: W605 invalid escape sequence '\s'
fecon236/dst/gaussmix.py:66:-810: W605 invalid escape sequence '\s'
fecon236/dst/gaussmix.py:66:-796: W605 invalid escape sequence '\s'
fecon236/dst/gaussmix.py:66:-787: W605 invalid escape sequence '\s'
fecon236/dst/gaussmix.py:66:-703: W605 invalid escape sequence '\s'
fecon236/dst/gaussmix.py:66:-661: W605 invalid escape sequence '\s'
fecon236/dst/gaussmix.py:66:-648: W605 invalid escape sequence '\k'
fecon236/dst/gaussmix.py:66:-553: W605 invalid escape sequence '\m'
The command "flake8 fecon236" exited with 1.
$ flake8 --version
3.5.0 (mccabe: 0.6.1, pycodestyle: 2.3.1, pyflakes: 1.6.0) CPython 2.7.15 on Linux
$ flake8 --version
3.6.0 (mccabe: 0.6.1, pycodestyle: 2.4.0, pyflakes: 2.0.0) CPython 2.7.15 on Linux
Conformity with latest flake8 lint and pycodestyle guidelines.
What is W605? Prior to Python 3.6, a backslash-character pair that was not a valid escape sequence generated a DeprecationWarning. This has become a SyntaxError as of flake8 version 3.6.0. See https://lintlyci.github.io/Flake8Rules/rules/W605.html
Anti-pattern: regex = '\.png$'
Best practice: regex = r'\.png$'
Thus the best resolution is to use explicit raw string mode.
Problem started recently, but not in older versions
Problem happens with all files, not only some files
Problem can be reliably reproduced
Problem happens randomly
fecon236 version: 10.7.1
pandas version: 0.22
Python version: 2.7 and 3
Operating system: All
Our spin-off of fecon235 source code still inherits the upstream problems
outlined in rsvp/fecon235#7
Here at fecon236, it is localized in the stock.py
module:
https://github.com/MathSci/fecon236/blob/develop/fecon236/host/stock.py
So far we have relied largely on demonstrative notebooks
at https://github.com/rsvp/fecon235
The source code here at fecon236 is designed to be more
explicit than casual usage, so if you have experience in
setting up a nice documentation framework, please
kindly volunteer.
The current "docs" need a complete redo, one that starts from fresh eyes.
Nobody peeks at the source code unless there is something which
solves their problem or extends their research interest.
As an analogy, Unix-style man pages are really dry,
but the usage examples are most useful in practice.
That's what fecon235 notebooks were intended to do informally,
but as the research topics got more specialized,
formalization of the structure for clarity became necessary,
hence the refactoring into fecon236.
As an example, forecast()
used to be called directly,
but now we prefer fe.hw.forecast()
. The user may not know
that fe
is shorthand for fecon236 (not fecon235), and
that hw
is an alias for the holtwinters.py
module which
is physically located implicitly under the tsa
directory
for time-series analysis.
This is the sort of thing which needs documentation
which should be a skilled blend of unit-based and
integrative explanations.
Let's us know if you would like to join a MathSci team.
Please discuss further at https://gitter.im/MathSci/fecon236
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.