Skip to content

Instantly share code, notes, and snippets.

@darden1
darden1 / nsga2.py
Last active June 21, 2023 10:59
DEAP's nsga2 tutorial.
# -*- coding: utf-8 -*-
import array
import random
import json
import numpy as np
import matplotlib.pyplot as plt
from math import sqrt
@darden1
darden1 / main.py
Last active May 2, 2017 07:28
Execute rrl training with ga_fit.
# -*- coding: utf-8 -*-
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from tradingrrl import TradingRRL
def main():
fname = "../data/USDJPY30.csv"
@darden1
darden1 / onemax_numpy_uniformdbl.py
Created April 18, 2017 12:48
Sample code when genes are set to real number and the ranges are set.
import random
import numpy
from deap import algorithms
from deap import base
from deap import creator
from deap import tools
creator.create("FitnessMax", base.Fitness, weights=(1.0,))
creator.create("Individual", numpy.ndarray, fitness=creator.FitnessMax)
@darden1
darden1 / onemax_numpy.py
Created April 17, 2017 13:32
DEAP's ga tutorial dealing with one max problem using numpy ndarray for a container of an individual.
import random
import numpy
from deap import algorithms
from deap import base
from deap import creator
from deap import tools
creator.create("FitnessMax", base.Fitness, weights=(1.0,))
creator.create("Individual", numpy.ndarray, fitness=creator.FitnessMax)
@darden1
darden1 / onemax.py
Last active April 13, 2017 12:20
DEAP's ga tutorial dealing with one max problem.
import random
from deap import base
from deap import creator
from deap import tools
creator.create("FitnessMax", base.Fitness, weights=(1.0,))
creator.create("Individual", list, fitness=creator.FitnessMax)
toolbox = base.Toolbox()
@darden1
darden1 / my_ga.py
Last active May 15, 2022 03:05
My first script of GA.
import random
import numpy as np
from operator import attrgetter
def main():
n_gene = 100 # The number of genes.
n_ind = 300 # The number of individuals in a population.
CXPB = 0.5 # The probability of crossover.
MUTPB = 0.2 # The probability of individdual mutation.
MUTINDPB = 0.05 # The probability of gene mutation.
@darden1
darden1 / tradingrrl.mq4
Created March 21, 2017 10:07
Mql implementation of RRL.
//+------------------------------------------------------------------+
//| tradingrrl.mq4 |
//| Copyright 2014, MetaQuotes Software Corp. |
//| http://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2014, MetaQuotes Software Corp."
#property link "http://www.mql5.com"
#property version "1.03"
#property strict
@darden1
darden1 / speed_test_cppwrapper.py
Created March 20, 2017 08:22
Compare the execution speed with Python, Cython and C++ wrapper.
import time
import py_test_sum
import cy_test_sum
import cpp_test_sum
n_iter = 10000000
#--- Python sum
py_ts = py_test_sum.TestSum(n_iter)
@darden1
darden1 / setup.py
Created March 20, 2017 07:29
setup.py for compiling cpp_test_sum.pyx with wrapping cpp_test_sum_.cpp.
from distutils.core import setup
from distutils.extension import Extension
from Cython.Distutils import build_ext
from Cython.Build import cythonize
setup(
name = "cpp_test_sum",
ext_modules = cythonize(
Extension("cpp_test_sum",
sources=["cpp_test_sum.pyx", "cpp_test_sum_.cpp"],
@darden1
darden1 / cpp_test_sum.pyx
Created March 20, 2017 07:27
A script for testing cumulative sum with c++. Cython wrapping code
from libcpp.vector cimport vector
cdef extern from "cpp_test_sum_.h" namespace "cpp_test_sum":
cdef cppclass cppTestSum:
cppTestSum(int n_iter) except +
int n_iter
vector[double] sum
void calc_sum()