how to protect trading strategies for a colocated server

Discussion in 'Automated Trading' started by trend2009, Dec 9, 2009.

  1. never did this, but maybe password protect the logic and keep changing the password?
     
    #41     Dec 23, 2009
  2. Jerry030

    Jerry030

    Keep in mind that if you know both the inputs used by a black box system, like price time series, and the output, a trade signal,
    one could use a GA set to brute force with a algo generator to reconstruct significant parts of the system.

    Since the possible universe of math transforms is likely to be very small, perhaps less than 10, most of the work for the GA/AG would be focused on logical switching parameters.

    If anyone would like to test this, contact me privately.

    The offer is to see if I can tell you how your system works with only the time series price data used and the generated trade signal. If I can crack your system from these, then it's possible the network admin at your hosting company with the right collaborators could do the same.
     
    #42     Dec 23, 2009
  3. If the trading system can be reverse engineered as you said, the method you use should be able to design winning systems for example, for hind-sight, we know the best entry and exit for trend following. given those entry and exit time series, can your algorithm decode the trendfollowing rules?
     
    #43     Dec 23, 2009
  4. You are too optimistic, probably because of lack of real experience with these concepts, no offense intended. I just throw in a few dummy signals here and there. where I enter and I exit the market at break-even or with just a small commission loss and that throws any GA algo BS out of synch.

    Actually, this is the best way to defend your system against "estimation geeks." There are also better ways. Have two accounts and split the trades randomly. That will do it without any dummy trades. More paperwork but it works. No need to worry. If you ever get to the point to have a profitable system, there are ways to protect it. Most people never need that because no one cares about their system.

    Be practical in life, it pays...
     
    #44     Dec 23, 2009
  5. CGNobody

    CGNobody

    I think assuming a winning trading strategy only equals to 10 simple math transforms is very naive.

    Simply dealing with risk management could require 10 transforms in the simplest of systems. Any simple entry will require 10 of its own, then 10 for exits. And then try to guess the formula that will describe a system with 30 degrees of liberty and you'll be old before you even cover the possibilities superficially.

    Even a system with only 10 variables is considered a bitch to solve mathematically speaking.
     
    #45     Dec 23, 2009
  6. heech

    heech

    Unless you're using some kind of a toy system... like a TDA/E-Trade "strategy generator"... I find it incredibly difficult to imagine that you could reverse-engineer an algorithm. Even if you know what the raw inputs are, you have no clue what the "features" being used by the strategy are.

    I'm 99.99% sure that problem is computationally intractable.
     
    #46     Dec 23, 2009
  7. bring you own vault, drill some holes for wires and ventilation and install your server there
     
    #47     Dec 23, 2009
  8. Jerry030

    Jerry030

    To clarify: we're mixing different concepts here 1) Decoding or reverse engineering a process if given the known inputs and known outputs and 2) creating a winning process from scratch.

    A good analogy there is the work done by NSA crypto-analytics units. You have a message intercept from the enemy which is in code (assuming it not a one time script) You know something about what went into it: transfer fund, attack a group, city, or location with a car bomb, wait for instructions, cancel mission, etc. In essence probably no more than a dozen or two conceptual primitives. And if you wait a while until after the event you will know what the enemy did: a bomb exploded at a specific location on a given day. So between those two: an input and an output you want to know the structure of the code in order to decode future messages (before the next attack occurs). These folks use very advanced versions of what I cited as a method to decode the hidden logic of a trading systems, which of course is much simpler than the possibilities in a war. You have a market price time series of x units and a signal output to buy, sell, hold, enter, exit, etc.

    The NSA types aren't trying to create a new message, only determine what information is in a hidden one. What I'm suggesting is similar: it does not create a new system/message but decodes one.

    To your question: some of the same methods could be used to create a system but there are actually more effective way to do it, assuming you are looking for a new discovery as opposed to translating one that is hidden into plain text equivalent behavior. . GA/EA can run for many days or weeks in a decoding operation.

    Also what I use is not an algorithm but a software application for automatically generating algorithms to match a data set, based on known inputs and known outputs. The system itself generates many thousands of algorithms and is directed in that process by many more.

    If you have a trend following system you want to examine, contact me privately for data and signal requirements.
     
    #48     Dec 23, 2009
  9. Jerry030

    Jerry030

    As noted on this thread about a dozen posts ago the intent is to protect a collocated server running a trading system. It was pointed out that one very effective way to protect your system from the network admin folks is to generate many false signals and have these separated into phony and real signals by a different co-located server at a different location. This quite workable approach was rejected, as it would take up too much time since the entire intent of co-location next to the exchange is to beat others by a few milliseconds.

    You'd have to throw in a lot of false signals to make it safe form a GA/EA as the system could just bifurcate the data set into parts: finding a solution for each set, the real signals and no solution possible for the random ones since they are random.

    If you really want to discourage folks form messing with the signals from the system I'd suggest sending out only a few phony signals for a period then during period of high volatility vary the mix to loose as ton of money with deliberate bad trades (filtered out by a second server before execution). The folks who though they could piggy back the system will loose their shirts.
     
    #49     Dec 23, 2009
  10. Jerry030

    Jerry030

    Sorry if you misunderstood my point. Let's say to be very precise, 10 or 20 matematical operators regardless of whre or how oftgen they are used. I'll start the list, please add to it and lets see how many we have:

    1) addition
    2) subtraction
    3) multiplication
    4) division
    5) comparison >, < =
    6) please add your selections......
    7)
    8))
    9)
    10)


    Below is a very advanced list to give you some ideas. But how many trading system use many or all of these?

    Algebraic functions are functions that can be expressed as the solution of a polynomial equation with integer coefficients.

    Polynomials: Can be generated by addition and multiplication alone.
    Linear function: First degree polynomial, graph is a straight line.
    Quadratic function: Second degree polynomial, graph is a parabola.
    Cubic function: Third degree polynomial.
    Quartic function: Fourth degree polynomial.
    Quintic function: Fifth degree polynomial.
    Sextic function: Sixth degree polynomial.
    Rational functions: A ratio of two polynomials.
    Nth root
    Square root: Yields a number whose square is the given one .
    Cube root: Yields a number whose cube is the given one .
    [edit] Elementary transcendental functions
    Transcendental functions are functions that are not algebraic.

    Exponential function: raises a fixed number to a variable power.
    Hyperbolic functions: formally similar to the trigonometric functions.
    Logarithms: the inverses of exponential functions; useful to solve equations involving exponentials.
    Natural logarithm
    Common logarithm
    Binary logarithm
    Indefinite logarithm
    Power functions: raise a variable number to a fixed power; also known as Allometric functions; note: if the power is a rational number it is not strictly a transcendental function.
    Periodic functions
    Trigonometric functions: sine, cosine, tangent, etc.; used in geometry and to describe periodic phenomena. See also Gudermannian function.
    Sawtooth wave
    Square wave
    Triangle wave
    [edit] Special functions
    [edit] Basic special functions
    Indicator function: maps x to either 1 or 0, depending on whether or not x belongs to some subset.
    Step function: A finite linear combination of indicator functions of half-open intervals.
    Floor function: Largest integer less than or equal to a given number.
    Heaviside step function: 0 for negative arguments and 1 for positive arguments. The integral of the Dirac delta function.
    Sign function: Returns only the sign of a number, as +1 or &#8722;1.
    Absolute value: distance to the origin (zero point)
    [edit] Number theoretic functions
    Sigma function: Sums of powers of divisors of a given natural number.
    Euler's totient function: Number of numbers coprime to (and not bigger than) a given one.
    Prime-counting function: Number of primes less than or equal to a given number.
    Partition function: Order-independent count of ways to write a given positive integer as a sum of positive integers.
    [edit] Antiderivatives of elementary functions
    Logarithmic integral function: Integral of the reciprocal of the logarithm, important in the prime number theorem.
    Exponential integral
    Trigonometric integral: Including Sine Integral and Cosine Integral
    Error function: An integral important for normal random variables.
    Fresnel integral: related to the error function; used in optics.
    Dawson function: occurs in probability.
    [edit] Gamma and related functions
    Gamma function: A generalization of the factorial function.
    Barnes G-function
    Beta function: Corresponding binomial coefficient analogue.
    Digamma function, Polygamma function
    Incomplete beta function
    Incomplete gamma function
    K-function
    Multivariate gamma function: A generalization of the Gamma function useful in multivariate statistics.
    Student's t-distribution
    [edit] Elliptic and related functions
    Elliptic integrals: Arising from the path length of ellipses; important in many applications. Related functions are the quarter period and the nome. Alternate notations include:
    Carlson symmetric form
    Legendre form
    Elliptic functions: The inverses of elliptic integrals; used to model double-periodic phenomena. Particular types are Weierstrass's elliptic functions and Jacobi's elliptic functions.
    Theta function
    Closely related are the modular forms, which include
    J-invariant
    Dedekind eta function
    [edit] Bessel and related functions
    Airy function
    Bessel functions: Defined by a differential equation; useful in astronomy, electromagnetism, and mechanics.
    Bessel–Clifford function
    Legendre function: From the theory of spherical harmonics.
    Scorer's function
    Sinc function
    Hermite polynomials
    Chebyshev polynomials
    [edit] Riemann zeta and related functions
    Riemann zeta function: A special case of Dirichlet series.
    Dirichlet eta function: An allied function.
    Hurwitz zeta function
    Legendre chi function
    Lerch transcendent
    Polylogarithm and related functions:
    Incomplete polylogarithm
    Clausen function
    Complete Fermi–Dirac integral, an alternate form of the polylogarithm.
    Incomplete Fermi–Dirac integral
    Kummer's function
    Spence's function
    Riesz function
    [edit] Hypergeometric and related functions
    Hypergeometric functions: Versatile family of power series.
    Confluent hypergeometric function
    Associated Legendre functions
    Meijer G-function
    [edit] Iterated exponential and related functions
    Hyper operators
    Iterated logarithm
    Pentation
    Super-logarithms
    Super-roots
    Tetration
    Lambert W function: Inverse of f(w) = w exp(w).
    Ultra exponential function
    [edit] Other standard special functions
    Lambda function
    Lamé function
    Mittag-Leffler function
    Painleve transcendents
    Parabolic cylinder function
    Synchrotron function
    [edit] Miscellaneous functions
    Ackermann function: in the theory of computation, a computable function that is not primitive recursive.
    Dirac delta function: everywhere zero except for x = 0; total integral is 1. Not a function but a distribution, but sometimes informally referred to as a function, particularly by physicists and engineers.
    Dirichlet function: is an indicator function that matches 1 to rational numbers and 0 to irrationals. It is nowhere continuous.
    Kronecker delta function: is a function of two variables, usually integers, which is 1 if they are equal, and 0 otherwise.
    Minkowski's question mark function: Derivatives vanish on the rationals.
    Weierstrass function: is an example of continuous function that is nowhere differentiable
     
    #50     Dec 23, 2009