Knowledge Base
From Thalesians
This section is a potpourri of tips, tricks, recipes and, in some cases, essays on finance, mathematics, and programming.
Unlike the Reading List and Resources, these are our original contributions unless otherwise stated.
These are simple tricks of the trade that we use in our everyday work. Chances are that we didn't have the time to write up the more sophisticated techniques. This section is always under construction.
We are always looking for editors contributors.
Please contact paul who happens to be at thalesians.com.
The road to wisdom? — Well, it's plain
and simple to express:
Err
and err
and err again
but less
and less
and less.
A grook by Piet Hein (1905-1996)
Finance
Fundamentals
Data
Foreign Exchange
Mathematics
- Commentary on Mathematical Finance Textbooks — there are many good books on mathematical comments but sometimes the reader is asked to make leaps of faith. This is a much needed gap, but we'll fill it nonetheless. We shall also provide further insight and examples, and our own biases.
- Option Pricing in Python and Simple English
Programming
Software Engineering
- Object-Oriented Design Heuristics — Arthur J. Riel's object-oriented design heuristics.
CUDA
- CUDA on Linux — a guide to installing CUDA on Linux systems.
C++
- General — a collection of C++ tips, tricks, recipes, and general wisdom.
- Effective C++
- More Effective C++
- Effective STL
- Boost.Python Step by Step — my tutorial on Boost.Python, a Boost C++ library for building hybrid systems in Python and C++. Historically, much of the code in scientific computing and quantitative finance is written in C++. But it is generally far more convenient to deal with high-level languages, such as Python. Boost.Python attempts to bridge this gap by facilitating the creation of Python wrappers for C++.
- log4cxx — a logging framework for C++ patterned after Apache log4j.
C#
- General — a collection of C# tips, tricks, recipes, and general wisdom.
- User defined functions and add-ins in Excel
Java
- General — a collection of Java tips, tricks, recipes, and general wisdom.
- Effective Java — a book by Joshua Bloch on the Java programming language. James Gosling, the father of the Java programming language, wrote about this book: "I sure wish I had had this book ten years ago. Some might think that I don't need any Java books, but I need this one." We require everyone that contributes to our Java code to read this book. In this Knowledge Base page we reproduce its table of contents (publicly available).
Python
- General — a collection of Python tips, tricks, recipes, and general wisdom.
- Boost.Python Step by Step — my tutorial on Boost.Python, a Boost C++ library for building hybrid systems in Python and C++. Historically, much of the code in scientific computing and quantitative finance is written in C++. But it is generally far more convenient to deal with high-level languages, such as Python. Boost.Python attempts to bridge this gap by facilitating the creation of Python wrappers for C++.
- IronPython — IronPython is an implementation of the Python programming language running under .NET and Silverlight. It supports an interactive console with fully dynamic compilation. It is well integrated with the rest of the .NET Framework and makes all .NET libraries easily available to Python programmers, while maintaining compatibility with the Python language.
- matplotlib — a python 2D plotting library which produces publication quality figures in a variety of hardcopy formats and interactive environments across platforms.
MATLAB
- General — a collection of MATLAB tips, tricks, recipes, and general wisdom.
VBA and Excel
- General VBA and Excel — a collection of VBA and Excel tips, tricks, recipes, and general wisdom.
- User defined functions and add-ins in Excel
Relational Databases
Time-Series Databases
- Kdb+ — a unified database for capturing and analysing streaming and historical data, which is frequently used in algorithmic trading.
Unix and Linux
- General — a collection of Unix tips, tricks, recipes, and general wisdom.
Windows
Tools
- Microsoft Visual Studio
- GCC
- Eclipse IDE
- IBM Rational Purify
- CVS
- Subversion (SVN)
- Apache Ant
- LaTeX — a high-quality typesetting system. LaTeX is the de facto standard for the communication and publication of scientific documents.
- WinEdt &mash an editor for LaTeX and more.
- PuTTY — a free telnet and SSH Client for Windows and Unix platforms.