simple backtest code in Python

I’m looking for programmer with experience in backtesting of trading strategies in Python.

simple description of the project:

read .csv into data frame; filter it by 4 parameters; calculate basic risk/return data using periodic returns (which need to be properly annualized); plot equity curve and return distribution

detailed description of the project:

data input will be the attached .csv (sample data only). it will consist of time series (spanning over 25 years) of option trades for various currency pairs (EURUSD, GBPUSD etc.), in 7 tenors (7, 14, 30, 90, 180, 270 and 360 days) and various strategies (straddle, strangle25 etc.)

I need 3 functions that will analyze this data:

FUNCTION #1 – single pair/single tenor backtest:


1-ccy pair (i.e. ‘Pair’= EURUSD)

2-option type (i.e. ‘Strategy’=straddle)

3-tenor (i.e. ‘Tenor’=14)

4-period (i.e. from ‘Start Date’ >=1/1/2000 to ‘End Date’ <=1/1/2007)

output values:

annualized return

annualized standard deviation

information ratio

maximum drawdown

length of maximum drawdown in days

annualized return / maximum drawdown

 all output fields are based on respective period returns (column ‘Returns’) and have to be annualized


equity curve

return distribution

FUNCTION #2 – single pair/multiple tenor backtest:


same 4 inputs as FUNCTION #1 but input ‘3-tenor’ can take list of tenors, i.e. ‘Tenor’ In (7,14,30,90,180,270,360 days)


same as FUNCTION #1 but show it in tabular form where:

rows – output values

columns – tenors


all equity curves in one chart

FUNCTION #3 – multiple pair/single tenor portfolio backtest:


same 4 inputs as FUNCTION #1 but input ‘1-ccy pair’ can take list of pairs, i.e. = (EURUSD,GBPUSD,USDJPY – portfolio of up to 45 pairs)


same as FUNCTION #1 but on aggregated portfolio level across all pairs


portfolio equity curve

portfolio return distribution and basic stats (median, skew, kurtosis)

I believe this should be fairly simple to do for a person with appropriate experience and knowledge.

If you have any ideas how to better structure the backtest, drop me a message. It will certainly help me to pick the right person for this job.

Thank you!

Habilidades: Python

Ver más: type of data structure in c, simple data structure, need python programmer for project, need python programmer, need of data structure to programmer, looking for python programmer, looking for a python programmer, list in data structure, i need a python programmer, i need a programmer in python, backtest portfolio

Información del empleador:
( 8 comentarios ) Munich, Germany

Nº del proyecto: #10199900

Adjudicado a:


Hi, I am a Python developer working for more than 4 years. Actually, I have done several projects using python and I delivered many useful scripts for my customers. Your project seems to be interesting for me and Más

€170 EUR en 6 días
(10 comentarios)

7 freelancers están ofertando el promedio de €163 para este trabajo


hello, sir: c/c++/python expert worked for samsung & huawei maybe more details will be helpful a sample can be provided before hired. hope to get message from u ty

€250 EUR en 10 días
(11 comentarios)

Hi. I'm an experienced Python programmer and also have trading experience. Can complete your project in a couple of days.

€155 EUR en 3 días
(6 comentarios)
€200 EUR en 3 días
(0 comentarios)

<<<< Please chat first i can help you low budget >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> ((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))

€30 EUR en 1 día
(0 comentarios)

highly skilled in python and specialised in filters and before committing the project I would like to see the specifications

€222 EUR en 7 días
(0 comentarios)

A proposal has not yet been provided

€111 EUR en 5 días
(0 comentarios)