Sunteți pe pagina 1din 10

Programare evolutiv i

algoritmi genetici

Brag Ionela-Cristiana
Seria A, grupa 1033 Informatic-Economic
Profesor coordonator: Cocianu Ctlina

I. Enunarea problemei

-2016-
Brag-Ionela Cristiana

Elaborai un proiect pentru rezolvarea genetic a unei variante a problemei de optimizarea


portofoliilor RISCMIN1, n care restricia : = este nlocuit cu

i sunt valorile extreme admisibile pentru randamentul prognozat. Ipoteza de lucru este c
tranzaciile de tip short selling sunt permise.

II. Structura general a unui algoritm genetic


i0
Pasul1: Initializarea populatiei: Pi este obtinuta prin generarea aleatoare a
candidatilor la solutie
Pasul2: Evaluarea candidatilor: pentru fiecare x Pi determina f(x)
Pasul3: Repeta
3.1 Selecteaza multimea de parinti BPi
3.2 Recombina perechi (sau n-tupluri) de parinti
3.3 Efectueaza mutatii asupra progeniturilor rezultate
3.4 Evalueaza noii canditati la solutie
3.5 Selecteaza indivizi pentru constituirea generatiei urmatoare, P i+1
ii+1
pana cand(Conditie_terminare este satisfacuta)

III. Specificarea fiecrei componente a algoritmului genetic utilizat


pentru rezolvarea problemei
Problema pe care o voi rezolva este determinarea portofoliului de risc nimic pentru un randament, care se
afla intre intervalul Rmin,Rmax (deja prognozate)

RISCMIN1:
T
Minimizeaz V = y Qy
n

cu restriciile i y i=1 .
i=1

Am preluat datele dintr-un tabel, unde regasim A={a1, a2, a3, a4. a5} cele 5 actiuni, iar S={s1, s2, s3, s4 s5 s6
s7 s8 s9 s10 } reprezentant 10 saptamani.

2
Brag-Ionela Cristiana

Considerm disponibil istoricul randamentelor procentuale pe m saptamani,unde:


r ij , randamentul aciunii i n perioada j;
m
r i= 1 r ij , randamentul mediu al aciunii i
m j=1
n
y i , fraciunea investit n aciunea i, astfel nct S= yi =1
i =1

2
i , variana aciunii i:
m
1
2i = ( r r )2
m j=1 ij i

ik , covariana dintre aciunile i i k:


m
1
ik = ( r r ) ( r r )
m j=1 ij i kj k

y1 , y2 , , yn .
Portofoliul este definit de fraciunile de investiii

In functia de mai jos, calc matricea de covarianta si matricea B

Functia obiectiv:

3
Brag-Ionela Cristiana

Vom explicita in continuare ce inseamna tranzactii de tip short selling:


y i negativ are semnificaia c strategia optim de investiie implic
SHORT SELLING - o valoare
vnzarea de tip short selling, adic vnzarea unor active pe care investitorul nu le deine, prin
mprumutul acestora de la broker cu intenia de a le returna ulterior.
Strategia SHORT SELLING este efectiv doar n situaia n care preul aciunilor este n scdere.

Restricii n strategia SHORT SELLING:


n=(x1,x2.xn-1)solutii fezabile
1 x ( i ) 1 , 1 i n1
n1 n1
y ( n )=1 x ( i ) [ 1,1 ] 0 x ( i ) 2 .
i=1 i=1

4
Brag-Ionela Cristiana

Selecia prinilor este realizat pe baza algoritmului SUS, prin utilizarea distribuiei de probabilitate de
selecie de tip rang liniar, cu presiunea de selecie s. naintea apelului, populaia este sortat. La fiecare
generaie sunt selectai dim prini

Stiind ca: s-constrangerea de selectie pentru distributia de selectie rand liniar si


Pop-populatie, avem:

function [p]=rang_l(pop,s)
[~,dim]=size(pop);

5
Brag-Ionela Cristiana

p=zeros(1,dim);
for i=1:dim
p(i)=(2-s)/dim+(2*i*(s-1)/(dim*(dim+1)));
end;
end

6
Brag-Ionela Cristiana

Recombinarea este aplicat cu o rat pc i revine la aplicarea operatorului de recombinare aritmetic


dim
total, cu ponderea p, celor 2 perechi de cromozomi alei aleator din populaia de prini, iar

rezultatele recombinrii corespund ntotdeauna unor soluii fezabile.

7
Brag-Ionela Cristiana

Operatorul de mutaie ales este cel de tip fluaj, cu o rat pm,t-prag.

Mecanismul de supravieuire elistist

function [rezultat]=generatie_urmatoare(pop,popN);
[n,dim]=size(pop);
fob=pop(n,1:dim);

8
Brag-Ionela Cristiana

fobN=popN(n,1:dim);
rezultat=popN;
[max1,i]=max(fob);
[max2,j]=max(fobN);
if(max1>max2)
[min1,k]=min(fobN);
rezultat(1:n,k)=pop(1:n,i);
end;
end

Exemplu de apel:

riscmin1(Tabel.txt,500,100,1.1,1.2,1.8,0.8,0.01,0.7,0.1,20)

9
Brag-Ionela Cristiana

Precizam ca:
-dim=dimensiunea populatiei;
-Rmin=riscul minim
-Rmax=riscul maxim admis
-pc=probabilitatea de recombinare
-p=ponderea la recombinarea prin medie
-pm=probabilitatea de mutatie
-t=pragul fluaj
-NM=numar de iteratii

10