to anyone reading this besides me: WOAH! I DONT KNOW ANYTHING ABOUT TRADING! I AM WRITING THIS AS I LEARN MYSELF. PLEASE TAKE IT WITH A HUGE GRAIN OF SALT!

topics:
How stuff works
Basic terminology
- positions are long and short, trades are opened or closed, orders fill. Product/contract, exchange/venue, broker, ticker, ticker symbol, quote. Strategy. Profit before commissions is the difference in price of the closing from the opening price.
Exchanges
- bid, ask spread
- as uncertainty
- as the game-theoretic principal that prevents you from reversing a losing strategy to make a winning one -- a key requirement for a cognitive system (related to uncertainty, intuitionistic logic) (along with commission friction, but more important)
- how exchanges work (matching)
- lit vs dark venues
- short selling
- consequences of matching design (speed/priority, extra credit: redesign that eliminates the need for speed)
- order types
- limit orders
- market orders
- hidden orders (note: the behavior of strategies with lit orders are unsimulatable)
- combo orders
- pegged orders
Products
- stocks (dividends)
- bonds
- options
- as insurance
- put, call
- synthetics
- put-call parity
- named option combinations
- smile
- futures
You and your broker
- leverage
- margin
- interest
- available funds, cushion, etc
- choosing a broker
- bucket-shop vs not
- account minimums, spread, commission, API, reputation (note: some say they're all bad), volume minimums, customer service, target market, data feed, recommendations
- colocation (network latency)
- cleaning the data feed
- crossed quotes
- stalled quotes or data
- tick-level or bars
- outliers
- what else?
- idiosyncratic rules
- margins
- large orders (absolute, as a percent of account value)
- OER and the like
Metrics
- high, low, open, close
- VWAP
Intermission: some accidental properties of our world
market participants
investors ('buy-side') * pension funds, insurance companies * retail investors * mutual funds * hedge funds * prop trading * retail traders issuers * and their broker-dealers and underwriters ('sell-side') market-makers corporations that need hedging, etc governments central banks market regulators * in the U.S.: SEC, CFTC, NFA, FINRA, others?
what the big boys have that you don't (and what you have that they don't)
- paradigms
- mass transit vs bike vs car
- speed
- friction (commissions, spread)
- capacity (and dark liquidity/dark pools)
- information
- manpower
- intelligence
- creativity
in the U.S.: legal rules 4 u
4 retail traders (basically just pay ur taxes, are there others i'm not aware of?) 4 prop trading companies (are there more than 4 retail? if so, what?) 4 hedge funds 4 mutual funds
types of products
commodities equities * fundamentals corporate accounting terms bonds * fundamentals currencies volatility ETFs and ETNs commoditized strategies (e.g. VQT, XVZ) what else?
Characterizing strategies
types of strategies (qualitative attributes of strategies)
return drivers (e.g. what service are you performing for society)
also called 'alpha source'
* investment * predictive enforcing constraints opponent modeling (note controversy) new information, diligence, superior intelligence/information processing method can be directional or other, but is generally directional * illiquidity * risk * trading: moving things in space, time (market-making), and other dimensions (e.g vertical spreads on options)
systemicity
risks
structural types
max dama's list
quantitative strategy attributes
capacity speed expected return volatility cost of carry maximum gain/loss Sharpe other metrics (Calmar, avg and worst return time, etc)
How the market behaves
Paradigms
the efficient markets hypothesis * note that this doesnt mean that the service of trading is profitless, just that it is a commodity (equilibrium theory; but then, at equilibrium, companies have exactly zero profit..) entreprenuership/service to society view of trading * these mathematical relationships dont keep themselves (e.g. triangle arb) * price discovery * pattern suppression * moving stuff around * insurance, etc the market as cognitive system (my favorite) * note: the feedback loops that cause large jumps in price, sometimes in the absence of external events, seem to be a requirement for cognition (a mind can figure something out that causes a discrete jump in its expectations, although this jump may have to be realized by way of a continuous underlying computational platform) the market as a poker game the market as dynamical system the market as nonstationary probabalistic system the market as a conspiracy (i dont buy this one) ...and the madness of crowds * greed and fear
General behavior
- business cycle
- financial cycle
- stocks, bonds, VIX, commodities, high beta, what else?
- daily, weekly, quarterly, yearly sessions, after hours trading
- seasonality
- FIIESSTTAA (Fundamentals, Interest rates, Insiders, Economy, Sentiment, Seasonality, Technicals, Taxation, Administrative, Advisors)
- options
stylized characteristics of financial time series
- (cite that paper)
- things go down faster than they go up
- asset correlations and volatility
Well-known classes of strategies
Well-known indicators
- well-known indicators
- technical range definers (Bollinger Bands)
- named technical chart patterns
Anatomy, and debugging, of a strategy with a predictive return driver
- todo
- anatomy (big picture)
- alpha source
- capital
- computation and infrastructure
- tactics
- risk management
- (anti-pattern recognition)
Predictive Alpha sources
- See above (todo: perhaps should integrate other chapters into this framework?)
- combining alpha sources: because of transaction costs, combining multiple weak alpha sources can yield a profitable strategy even if each alpha source taken by itself is too weak to overcome transaction costs and yield a profitable strategy
Capital
- leverage
- getting capital from others (prop trading companies, hedge funds)
computation and infrastructure
- Speed
- Information
- Broker and exchange and their constraints (OER etc)
- Software
- most of the time is debugging
tactics
(i have a bunch to go in here)
strategy archetypes:
- perhaps the most general form: attempt to predict the joint probability distribution of the instantaneous derivative of the price of various contracts. from this, maximize the expectation of the log of the growth ratio of the value of the portfolio.
- perhaps the most common form: opening rule, opening quantity function, closing rule, opening quantity function
adverse selection:
- when you place nonmarketable orders, the counterparty gets to decide which of your orders execute. the possibility of adverse selection can make analysis confusing. For example, lets say you open a bunch of orders randomly and close them randomly, with marketable orders. Your expected profit is a loss of your transaction fees (one half spread plus commission per order). But now let's say you close the orders with nonmarketable orders. You are now exposed to adverse selection and might lose more (or less, if your savings on the spread outweighs the adverse selection). So imagine that you have a strategy that closes whenever there is a lack of opening indicators, with nonmarketable closing, and what you see is that, after opening, the value of your positions move around a bit, but then eventually they tend to start falling. You might think that the way you chose positions chooses things that tend to go down after a long time, and that's possible. But another hypothesis is simply adverse selection on closing; when there is a lack of opening indicators, perhaps the expected price movement is zero, but then the positions that are about to gain get closed, while the ones that are about to lose stay open. The positions that have stayed open unusually long have missed many chances to be closed, and so are most likely to fall; what you see is that you have a bunch of positions that have been open for awhile and are now falling.
combining strategies
- if you have two strategies of the opening rule/closing rule form, can you just combine them by taking the logical OR of each rule, e.g. combinedOpening = opening1 OR opening2, and taking the logical OR of their closing? Not necessarily; closing1 might be appropriate to follow opening1 but not to follow opening2. This is because the probability of the price rising or falling at the time closing1 is evaluated might depend not only on the present, but on the past, and particularly on whether opening1 was true in the past, recently enough that the trade hasn't closed yet. (todo rewrite this in a clearer form)
- similarly, the 'execution strategy' may or may not be (relatively) independent of the strategy as a whole. For example, perhaps typically, the best way to buy contract X is a limit order using function A to set the limit price, but maybe during the times when the condition opening1 tends to be true, the best way to buy contract X is a primary peg order.
Short-term predictive strategy
todo others
- opening (time or thresh)
- closing (time or thresh)
- why is opening different from closing? volatility/kelly/marginal sharpe
- position sizing
- portfolio risk management (and position size limits)
- execution
problems:
indicators, predictions, and strategies:
- an indicator is a metric that is thought to be useful for predicting something about the distribution of the future price of a financial asset. it's a synonym for what is called a 'feature' in the field of machine learning.
- an event is something that occurs at a discrete point in time. For example, each release of the Fed minutes is an event. We also use the same language when talking about a type of event; for example, we speak of 'release of the Fed minutes' as an event, and our strategies might have actions that trigged based on events, e.g. if there is a 'release of the Fed minutes' event, then wait half an hour and then go flat volatility'. We also speak of 'events' defined by when the value of a given predicate on indicators switches from False to True; for instance, the predicate 'SPY closed below it's 50 day moving average' defines an event, and we may say, 'if the event 'SPY closed below it's 50 day moving average' occurs, then go flat on SPY'. That shows how changes in indicators can be turned into events; we can also turn events into indicators by making an indicator that is zero except when a certain event has recently occurred, at which time the indicator flips to 1.
- a trading signal is a prediction about the future behavior of a financial asset. A trading signal typically specifies the asset being predicted, and the polarity of the prediction. However, the term 'signal' is also used in engineering to denote any function of time, so we'll stick with the term 'prediction' instead.
- As we use the term here, a prediction can also be more detailed, providing an expected magnitude, a timescale, a confidence, or even the full predicted probability distribution over time of the asset's future movement. Note that predictions might not specify a direction; e.g. one might make a prediction about the standard deviation of an asset's price without having anything to say about whether it will go up or down.
- a strategy (well, an algorithmic strategy, the only type we're concerned with here) is an algorithm that takes trading actions based on incoming information.
note that even if you have a good prediction, you still have some work to do to make this into a strategy. In some cases you can have a good prediction that cannot (on its own) be turned into a strategy; for example, if the mean predicted value of the change in price is so small that it is eclipsed by the spread. Even if you have a prediction that SPY will go up, for example, you must decide if you should buy SPY and if so, how much and when, and using what order type with which parameter values.
For example, you might decide that although you have a prediction that SPY will probably go up, the mean predicted change in price is too small compared to the spread, so you will do nothing. Or, you might decide to put all of your (algorithm's) free cash into SPY, and in addition margin borrow and spend that to purchase more SPY. Or, you might decide to sell everything in your portfolio and put all of that into SPY. Or, your decision of whether and how much SPY to buy might depend on what you currently hold and how strongly it is correlated to SPY. Or, your decision of whether and how much SPY to buy might depend on your prediction for the standard deviation of SPY. If you do decide to buy SPY, do you use a market order or a limit order or a primary peg order? If you use a limit order, what's the limit? If the limit order never fills, what do you do about that, if anything, and when? If the VIX suddenly spikes, or if the market starts crashing, do you close all your positions or do you ignore it or do you double down?
Even after specifying a strategy algorithmically, there are implementation level details of strategy to specify. What do you do if you stop receiving new prices and cannot form predictions? Do you close all your positions, or do you do nothing? Do you have a failsafe that shuts down automated trading if your account value falls too low? Are there broker constraints, such as OER, that your implementation should cause to always be satisfied even if the strategy would, left to itself, violate them? Do you doublecheck margins to make sure a bug in your strategy doesn't lead to unnecessary margin calls?
And even after that, there are details of implementation design beneath the level of strategy. Do you have multiple threads, one watching for each condition that could cause you to take action? Do you have multiple threads, one watching each financial asset that you are trading? Do you have listeners that fire upon every price change, or do you just periodically reasses things?
timescale:
People often talk of predictions like 'after X happens, SPY tends to go up". But without a timescale, such statements aren't very useful. Does SPY tend to go up one second after X happens? In that case, unless i can get my order filled in less than a second, i shouldn't bother buying SPY when i hear that X has occurred. Does SPY tend to go up sometime between one second and thirty years after X happens? In that case, this is only useful if i am going to run this same strategy for a very long time.
techniques for representing and dealing with timescale:
todo
Break-even strategies
- there seem to be a bunch of strategies that approximately break even (e.g. would be profitable except for spread and commission)
- perhaps this is partially due to selection bias (people run other strategies, not these, so these remain almost-profitable)
- or, perhaps these are strategies that are commoditized; someone (or many) is already running them close to optimally, so there's no demand from Mr. Market for anyone else to run them
- these can still be useful to you, however, if you look at them as a way to make trades without paying as much in spread (as noted in Combining Strategies, ANDing a weak alpha source with another one may yield a profitable strategy), or if you can stack a bunch of them together to make one profitable strategy
- note that ORing weak alpha sources together doesn't help!
risk management
- diversification
- 2% rule
- anti-pattern recognition
Software
- tour of our framework
- what can (and, therefore, will) go wrong
Analytics
- general concepts from stats
- distributions
- moments
- samples, statistics
- what else?
- general concepts from machine learning (really just a branch of statistics, at least the parts we'll talk about)
- supervised and unsupervised learning
- training, validation, test sets
- overfitting, bias/variance tradeoff
- statistics
- tour of distributions
- tour of statistics
- structural breaks
- supervised learning
- classification
- decision tree, svm, neural net, etc
- regression
- time series
- uncertainty
- unsupervised learning
- clustering
- kmeans, agglomerative, divisive, pca slicing
- dimensionality reduction
- online/offline learning, what other characterizations?
Portfolio analysis
- in a normal world: sharpe, marginal sharpe, alpha, beta
- dont write off volatility as second-order
- why trading is not zero-sum (oil futures example)
- why diversification
- idiosyncratic volatility is not bad in a diversified portfolio
- leverage
- risk
- psychological factors (warning i know nothing about this, in fact perhaps a negative amount)
also:
- arbitrage: there are certain rules that mathematically 'should' hold in the market, but these constraints have to be enforced by humans. for example, if B is, in theory, worth exactly 2*A, well, someone could still bid $40 for B when the best bid for A is $10. The supposed constraint isn't enforced unless and until someone takes it upon themself to bid just under $20 for A, hedging it by selling B to the guy who had bid $40 for B (and at some point, someone has to deal with the risk that you won't be able to execute both sides of this transaction before one or the other prices move; sometimes your broker will do this for you, called a 'guaranteed combo order'). You can imagine that there are many more complicated variants of this. Whenever you see a constraint that should in theory hold, and that market mechanics guarantees holds sometimes, but such that market mechanics make it possible for it not to hold all the time, then there is an opportunity for arbitrage.
- stochastic arbitrage: there are various forms of this.
- One form is when there is almost an arbitrage opportunity, except for a 'but'; in the preivous example, let's assume that once a month the price of B is actually guaranteed by market mechanics to converge to 2*A. We still have a 'but', though: the need for both sides of the transaction to execute simultaneously. If you don't have access to a guaranteed combo order, there is a risk of executing only one half of the trade, and this turns the arbitrage opportunity into a stochatic arbitrage opportunity.
- Another form is when the theory yields a probabalistic conclusion. E.g. it you have a theorem that says 'at least 80% of the time, B should be = 2*a'.
- Another form is when the thing that is theoretically supposed to be true relies on a theory that makes some assumptions that aren't precisely true. For example, maybe there is a second-order term which is being neglected but which in reality is significant 10% of the time. Another example might be, maybe two things are supposed to be of equal price, but one side of the trade becomes worthless if Credit Suisse goes bankrupt, but the other does not; but this is better thought of as something else, because it's not like you'll see a steady 0.1% of the trades going bad; they'll all be good until suddenly they are all bad. The prototypical stochastic arbitrage opportunity is one in which the success rate (the stochastic part) is thought to be mostly stationary.
- A related thing that i would not call stochastic arbitrage is when there is a constraint that should in theory hold, but such that market mechanics make it possible for it never to hold (or at least not for many years). For example, an ETN for which the creation of new units is indefinitely suspended which is trading above NAV. In theory, the darn thing should drop in price until it hits NAV. In fact, it could trade above NAV indefinitely (or at least until its termination date). I don't call this stochastic arbitrage because the success rate seems to me that it may be non-stationary. But if you can find a theory of the success rate there, maybe you can call it stochastic arbitrage.
- Note that what is and isn't stochastic arbitrage depends on what you know. If some other person has a theory predicting some esoteric constraint between some asset prices, then e can call this stochastic arbitrage and trade on it, but to you, who doesn't know about this theory, eir trades might look random or speculative.
- subtypes:
- over different assets all having some relation to the same index
- in general: invent a new unmeasurable general concept that in theory various assets are tracking, create an index (estimate; operalization) for it
- todo list the others
- Mr. Market as a gradient boosting regressor
misc tactics:
- regularization
- bayesian priors and fake samples (and regularization)
- ANDing indicators vs. machine learning
- linear vs. nonlinear methods, # of free parameters, overfitting
machine learning features, instances, labels, and timescales:
- we appear to be in a supervised training scenario, since we have history of past situations, and later prices, and what we want to do is to predict later prices from these past situations. So we appear to have instances and labels. But the question arises, WHICH later price is the label, e.g. at which later time?
- You might say, what we really want to do is maximize portfolio growth, so look at the rate of growth of each investment as t -> infty. But this seems wrong; e.g. consider individual stocks; presumably most or all companies eventually go bankrupt on the timescale of thousands of years, so as t -> infty, buying and holding any individual company is a losing investment. But you can still make money buying and selling individual stocks; even if every individual stock goes to 0 on a long enough timescale, this is fine as long as your strategy would sell the stock sometime before its company goes broke.
- More perversely, what if there is an indicator that predicts a small bubble followed by a large crash? E.g. it predicts that sometime in the next week, the price will go up, but sometime in the following month, the price will crash to below its current level. If you only look at the timescale t -> infty, this indicator is useless, but on an appropriate timescale it could be useful for trading.
- So you might say, okay, focus on the profitability of 'trades' composing of opening transactions (when you buy the stock) and closing transactions (when you sell the stock). But this seems to focus on a later segment of strategy creation than we are looking for when trying to choose labels for supervised learning. E.g. think of 'buy indicators' and 'sell indicators' which attempt to capture the signs of an impeding rise in price or an impending crash. These might be quite asymmetrical (e.g. the rate of change during crashes is often larger in magnitude than the rate of change of rises in price, so one might conclude that these are qualitatively different phenomena). So you probably want to train indicators for each of them separately and then to put them together into a strategy later.
- So you might say, okay, pick a timescale, and then assign labels based on the price change over that timescale. But what if there is a transitory fluctuation in price right at the end-time? Surely the label should be not just the future price at a single point in time in the future, but rather, some function of prices at many points in time. Also, the timescale is an arbitrary parameter (however, this parameter can itself be optimized when the strategy is being optimized later).
- So you might say, well, if i buy now then in theory i have the freedom to sell at any time in the future, so take the max of all future prices. But this seems wrong, as an investment is about to drop almost zero for 10 years and then suddenly pops up to 1000x its current price for one minute, and then craters to zero afterwards, is not a very good investment; because your money is tied up for ten years, and you might miss the one minute in which to sell, either because you aren't online that minute, or because you are expecting it to go up even more so you didn't sell.
- Similarly, you might say, take the average of all future prices, but this is only a little better, and still has the free parameter of future timescale.
- So you might say, ok, then take the Sharpe ratio of future prices, but this still has the free parameter of future timescale.
- Similarly, you might say, discount the future price, or some variant of this such as taking a weighted average of various different time scales, but this still has the free parameter of discount rate (or the weighting function).
- Or, you might say, let's give up on individual labels and look at the portfolio of buy signals generated by this strategy, and calculate the growth rate or, better, Sharpe ratio. But now you can only do batch training, not online training, and worse, many extant machine learning algorithms demand individual training labels, not just a batch objective function. Which makes sense; intuitively, it seems like you should at least sometimes be able to say that individual buy signals were good or bad suggestions. But perhaps this intuition is wrong, and the supervised learning paradigm really just isn't exactly appropriate for trading.
- Instead of fixing timescale and optimizing a learning algorithm, you could fix an indicator and optimize a timescale. But this is more relevant to the task of feature selection; at some point, you will still have to answer the question of how to combine the features, with their various timescales, into a prediction for an instance.
misc practices
short-term vs. long-term strategies
in many ways, short-term is easier because you can develop by running live simulations using a broker 'paper trading' simulation, rather than with an offline simulator running on your own computer. The latter involves either (a) developing a basic simulator, which is probably much less faithful than available broker paper-trading, or (b) paying a boatload of money upfront to buy a really good simulator, or (c) developing a really good simulator, which probably takes a long time. It also involves either (a) downloading a ton of historical data from a broker, which takes forever, or (b) buying a ton of historical data, which is expensive; as well as storing a ton of historical data, which takes some space.
In addition, if you do use a non-realtime simulator, you can backtest short-term strategies many times on the timescale on which they operate; very long-term strategies may only have a few iterations over the whole historical record.
In addition, if you did manage to find a strategy with X% profit over a short time scale, of course that's better than the same X% over a longer timescale.
However, i suspect that profitable short-term strategies are harder to find, mostly because of the above considerations.
version control
Use a revision control/scm/version control system when developing a strategy. This is crucial because you'll want to change a zillion little things and then run a test, and you'll want to revert to old versions of the code and branch, and then later temporarily abandon the branch and switch to a different branch, and then later change your mind and go back to the abandoned branch; and often the important things won't be what you thought they were and you'll want to say, 'huh, i just want to revert to what it was like a few days ago', or maybe later on you'll look at your notes and you'll say, 'Right now i'm at version A but i really want to know EXACTLY what the differences in the code were between old version B and old version C, neither of which are direct descendents of the other'.
I recommend git.
Anonymous branching is really useful for this because, as you don't know beforehand which changes are important and which are unimportant, the salient characteristics of branches change over time (e.g. you first branches because you wanted to experiment with X but while doing that you changed Y, and then you change W and Z, and then for most of the time you think that W is the most important of these changes, but eventually you find out that actually Y is the only important one), making it difficult to associate branches with memorable names except in hindsight. With git you can refer to everything with commit hashes. WARNING: BY DEFAULT GIT WILL EVENTUALLY GARBAGE COLLECT ORPHAN COMMITS (e.g. anonymous commits not on any named branch) ; use "git config gc.pruneExpire never" to disable this for your repo if you are using it this way (as of this writing, i've not tested it but i think that command will disable this, at least)!
i like to reserve the 'master' branch in the repo for the current version running in production, if any. I have a branch 'develop' which is sort of the latest-and-greatest thing i am working on or trying out in the simulator, but which is not yet in production.
Release staging
The first stage is development on a simulator. There will usually be a few remaining differences between the simulator and production/live accounts/real life, however, so it is suggested to stage releases to production, as with other software.
One way to do it:
- if you are working with a team of people or if you deploy often, it's best to have configuration information that various in between development and production (such as account numbers/logins) in separate files, versioned outside of the main code repository. If it's just you and you seldom update production, it doesn't really matter but it's probably still slightly more efficient to keep it separate.
- if you are working on a team, you might want to try having 'develop' be your staging branch, rather than just a personal latest-and-greatest branch: https://speakerdeck.com/ewoodh2o/release-management-git-workflow
- git tag v1.0.0-a
- git co master
- git merge --no-ff 1.0.0-a
version numbers
i like http://semver.org/ -- since there is no 'public API', i use changes to 'patch version' for bugfixes, nonfunctional changes (e.g. logging, restarting after X hours, etc), and account- or user- dependent parameters (e.g. position limits), 'minor version' for 'minor' changes to the strategy (e.g. changes that probably wouldn't change how you would give a quick overview of the strategy to a human, e.g. a retuning of a free parameter, or a minor change in order execution tactics), and 'major version' for major changes to the strategy.
notes files
i like to keep 3 notes files for each strategy.
(1) a journal/log: records the git hash for each version that i try in simulation, along with the net liquidation value of the simulation account before and after running it, and also whatever other stats the strategy reports. Possibly also records some timepoints in the middle. My own thoughts are interspersed.
(2) a todo file: variations on this strategy that i have thought of that i might want to try
(3) an analysis file: mostly a list of profitable git hash versions, how profitable they were per hour and per hour per margin. Also some todos and thoughts.
i also keep one note file for each live account, which is similar to the journal/log, except the file is per-account rather than per-strategy.
misc quotes
"Would someone go to the trouble of putting in a zero-expected-profit order, just for the psychic joy of doing a trade? We shouldn't rule it out." -- http://pages.stern.nyu.edu/~jhasbrou/Teaching/2011%20Winter%20Markets/PDFHandouts/MarketStructure201.pdf
links:
case studies
http://www.dukascopy.com/fxcomm/fx-article-contest/?Machine-Learning-Applied-To-Forex&action=read&id=1768 says from high to high and from low to low is better than from open to close they predict for a fixed time window, from 3 to 10 days they get 60% accuracy over a 1-year test set they have 3 data sets; train, validate, test, from nonoverlapping time periods they have take-profit and stop-loss orders, which should never be too far apart (in trigger prices). if you have a near take-profit and a far stop-loss and ur training set is too short, you'll seem to be very profitable, but in real life eventually you'll hit the stop-loss and be sad. they place the stop-loss and take-profit triggers symmetrically around (the trade opening price?) and optimized the distance between them, which turned out to be about 18 pips. would have placed them even closer, but for commissions and fees. they care about profit factor, gross profit divided by gross loss. theirs is 2.87. maximum consecutive drawdown 5%. max consecutive profit 18%. they use jForex api. they trained on a few years of data. their strategy isnt really black-box, it has a simple form (that they are keeping secret). uses genetic algorithms for feature selection, including selecting the duration of indicators.
http://www.dukascopy.com/fxcomm/fx-article-contest/?action=blog&nickname=olga&contest_period_id=275
features built off of only 8 daily bars into the past. two years training data, one year testing. " For each day, four values are recorded, the first three record information on the movement from the previous day’s close to the day’s high, low and close, in percent while the fourth records the volume for the day. This makes for 32 independent variables total. The data is obtained from three instruments in the dukascopy database, EURUSD, AUDJPY and GBPCHF daily Ask bars from the 1st January 2008 to the 31th December 2011, with weekends blended in the following Monday. ". used WEKA. tried MP-5 regression tree, 15-nearest neighbors (weight by 1/distance), SVM regression, RBF network, Gaussian process. none of these could predict future price direction (from close to close over one day). all of them could predict overall range (difference between the day’s high and the day’s low as a percentage of the previous close) (correlation coefficient above .5, except for RBF). nearest neighbors and SVM did best, RBF did worst. all of them could predict the absolute movement (again for one day), not quite as well (correlation slightly lower than .4 for all except RBF and MP-5 regression tree). volume is also predictable based on time of day and the previous day's pattern.
http://www.dukascopy.com/fxcomm/fx-article-contest/?Best-Practices-When-Optimizing-Automated&action=read&id=1081
trains on at least 200 trades. training objective function is either profit ratio or sharpe ratio. uses "long short term memory" recurrent neural net model
http://www.dukascopy.com/fxcomm/fx-article-contest/?Long-Term-Fx-Strategies&action=read&id=1888 presents a table of short term strats with Sharpe, showing they are terrible. presents 3 longterm currency strats: carry, value, momentum.
links
2011:
ritesh:
NagarajaAdiga?:
petefader:
2012:
jlongo:
- http://www.dukascopy.com/fxcomm/fx-article-contest/?Creating-Your-First-Strategy-Part&action=read&id=873 (7 likes, 1st)
- http://www.dukascopy.com/fxcomm/fx-article-contest/?Jforex-In-Just-One-Click&action=read&id=616 (12 likes, 1st)
- http://www.dukascopy.com/fxcomm/fx-article-contest/?Jforex-Api-Introduction-My-Idea&action=read&id=683 (1st)
- http://www.dukascopy.com/fxcomm/fx-article-contest/?Create-A-Strategy-Get-All&action=read&id=1473 (aug 2013, 1st)
- http://www.dukascopy.com/fxcomm/fx-article-contest/?Are-You-Ready-For-Your&action=read&id=832 (jun 2012)
- http://www.dukascopy.com/fxcomm/fx-article-contest/?Creating-Your-First-Startegy&action=read&id=791 (jun 2012, part of series)
- http://www.dukascopy.com/fxcomm/fx-article-contest/?Creating-Your-First-Strategy-Part&action=read&id=847 (jun 2012, part of series)
- http://www.dukascopy.com/fxcomm/fx-article-contest/?Creating-Your-First-Strategy-Part&action=read&id=854 (jun 2012, part of series)
- http://www.dukascopy.com/fxcomm/fx-article-contest/?Creating-Your-First-Strategy-Part&action=read&id=873 (jul 2012, part of series)
- http://www.dukascopy.com/fxcomm/fx-article-contest/?Creating-Your-First-Strategy-Part&action=read&id=889 (aug 2013, part of series)
- http://www.dukascopy.com/fxcomm/fx-article-contest/?Creating-Your-First-Strategy-Part&action=read&id=964 (aug 2013, part of series)
- http://www.dukascopy.com/fxcomm/fx-article-contest/?Creating-Your-First-Strategy-Part&action=read&id=966 (1st, oct) http://www.dukascopy.com/fxcomm/fx-article-contest/?Creating-Your-First-Strategy-Part&action=read&id=1031 (2012 oct, part of series)
- http://www.dukascopy.com/fxcomm/fx-article-contest/?Creating-Your-First-Strategy-Part&action=read&id=1068 (2013 nov, 1st)
- http://www.dukascopy.com/fxcomm/fx-article-contest/?Creating-Your-First-Strategy-Part&action=read&id=1198 (feb, part of series)
- http://www.dukascopy.com/fxcomm/fx-article-contest/?Creating-Your-First-Strategy-Part&action=read&id=1239 (mar)
LinnuxFX?:
doctortyby:
RobertBric?:
SmithJr?:
SpecialFX?:
2013:
tdurai84:
Likerty:
DumbAsArock?:
HumbleAko?:
scramble:
nsteve:
positive:
AdrianWS?:
Airmike:
Daytrader21:
geula4x:
Efegen:
Skif:
Fxtrader500:
Paulito:
piter44:
drishti:
dennis14685:
rokasltu:
2014:
jezz:
olga:
relu21:
Andrew Ryan:
todo
http://www.dukascopy.com/fxcomm/fx-article-contest/?Sharpe-Ning-Up-Your-Strategies&action=read&id=29
intro to sharpe, with annualization. suggests Sharpe above 3. notes that you should choose strategies and parameters whose score (Sharpe ratio) is relatively stable to small perturbations of the parameters chosen.
--