Financial Ontology 2006-03-09
Where are all of the financial ontologies? I spent a few hours looking for OWL or other representations which I could use to avoid creating my own to cover the capital markets. (I really don't want to create my own definitions of stocks, bonds, and derivatives.)
More |
Add a comment (No comments so far) |
| |
| |
What is Functional Programming? 2006-03-09
One technique I learned from reading Fowler's "Analysis Patterns" was to turn significant functions (methods) into classes embodying those functions. Thus, a function to calculate a shipping charge becomes a shipping charge calculation "functor" object. Eventually, I used this technique to build a series of predicate classes (at about the same time that the Jakarta Commons functor project was in its gestation) for use in modeling business rules. Learning to use lambda functions in Python and some research into practical proof systems for building high-quality software (a long story; don't ask) made me realize that I had been playing at the edges of functional programming. This has led me to several questions:- What is functional programming?
- How does functional programming differ from imperative programming in languages such as C and Java?
- Which languages support functional programming, and how do they differ?
- Is there a functional programming language "mainstream" enough that I can use it for practical projects?
...
More |
Add a comment (No comments so far) |
| |
| |
Hashing Regular Expressions 2005-05-14
Somewhat recently I came across what seems to be a hashing problem. I have a series of key-value pairs, with keys which may be either simple strings (e.g., ABCD) or (non-trivial) regular expressions (e.g., AB[A-Z]*). I can find the appropriate mapping for each input value by iterating over all of the keys and checking for a regular expression match on each one, but this seems fairly inefficient (O(n) time). What I am looking for is a one step (O(1) time) method for retrieving values, and what comes to mind is use of some sort of hash table. My problem thus becomes to find a function which will hash all strings described by a regular expression onto a single key...
More |
Add a comment (438 comments so far) |
| |
| |
What is a Bug? 2005-04-25
A naive definition of quality software is "bug-free". (Naive here is not pejorative, but is used in the sense of simplest and most intuitive.) This definition of course is dependent on the definition of a bug. What, then, is a bug?...
More |
Add a comment (No comments so far) |
| |
| |
Not Quite High Yield 2004-05-19
Long term Ford bonds (10-20 year maturities) offer current yields of 7-8%, in large part because of a BBB- credit rating. (Compare this with the 5.5% paid by AAA-rated companies on bonds with similar maturities.) Are these bonds good investments, given interest rate risk and default risk? Yes: they should maintain their values, even with rising interest rates, because:- The risk of default on Ford bonds is low. Altman Z scores of about 7 based on Ford's consolidated earnings (including financial services), and about 2.8 for the automative group only, are comfortably above a risk threshold of 2.6.
- The credit-neutral interest rate sensitivities of the Ford bonds is not terrible, given durations on the order of nine years, and convexities of over 400 (their prices should drop not much more than 10% for a 200 basis point increase in rates).
- Given the likelihood that Ford's credit rating will improve over time, particularly in light of a corporate decision to push profitability at the expense of market share, decreased risk premiums on the bonds should offset declining prices resulting from rising interest rates.
A home run? No, but a decent investment in a difficult interest rate environment.
More |
Add a comment (No comments so far) |
| |
| |
Eggplant Tagine with Chicken 2003-10-04
I have been experimenting with this eggplant dish, and have not yet come up with a final recipe. The eggplant adds body to the dish, and changes its appearance and texture completely from similar things I have made without eggplant...
More |
Add a comment (9 comments so far) |
| |
| |
What are Hidden Markov Models? 2002-11-17
Suppose that we have a sequence of observed symbols or discrete values. For example, we could have a sequence of coin tosses (HTTHHTHHHT...) or of nucleotides in a nucleic acid (ATTACGC...). One type of model which could generate such a sequence has n states, governed by two probability matrices. Matrix T governs the probability of a transition from the current state i to new state j, and matrix E governs the probability of the emission of a specific symbol while the system is in state i. The transitions and emissions make up first-order Markov chains: the probability of transition and emission depend on the current state only, and not on the extended history of states leading to the current state. The complication in using our model is that the emitted symbols are the only observables: the states and the transition and emission matrixes are hidden (hence, it is a hidden Markov model)...
More |
Add a comment (1 comments so far) |
| |
| |
Lean Manucturing and Software Development 2002-11-09
I haven't found explicit references to the use of theory-of-constraints-based project management in software development projects, but there are at least a couple of published articles on applying the lessons of lean manufacturing to the process of software development. (The theory-of-constraints approach is only one of the lean manufacturing approaches, all of which tend to be popularly known as just-in-time production.)...
More |
Add a comment (132 comments so far) |
| |
| |
Support Vector Machines - Things to Read 2002-10-12
I'm slowly working my way through Cristianini and Shawe-Taylors Support Vector Machines, which is fairly clearly written and (so far) seems to be a good introduction to the subject. (Unfortunately, to get through the book I find that I need to brush up on my linear algebra.) Cristianini also has written (with Schoelkopf) a review of support vector machines and kernal methods...
More |
Add a comment (2 comments so far) |
| |
| |
How It Works 2002-07-02
PracticalStudies.com is written in Python and runs on Linux, with content stored in a PostgreSQL database. To separate presentation from operational logic, pages on PracticalStudies.com are built from templates which follow the Jakarta Velocity templating specification (see the template used to build this page as an example). Right now the site is running on a toy Python implementation of the Velocity templating engine; in time, I hope to build a full featured implementation of Velocity in Python.
More |
Add a comment (No comments so far) |
| |
| |
Not as Boring as it Sounds 2002-06-28
I promised myself that I would never create a blog, but now I find myself doing so anyway. What I intend to do here is not stream of consciousness (as fascinating as my inner thoughts might be to the world), but to use this as a blackboard to work out solutions to problems that I encounter. In general, these will be software problems, but software problems defined in a broad way, from straight coding problems, to architecture problems, to project management problems. To make this useful to others, I will include references to other works which help me solve the problems. I also will create an index to the various problem threads found here, with any take-away lessons that I can extract...
More |
Add a comment (2 comments so far) |
| |
| |