Programare evolutivă și algoritmi genetici
Bragă Ionela-Cristiana Seria A, grupa 1033 Informatică-Economică Profesor coordonator: Cocianu Cătălina
I.
Enunțarea problemei
-2016-
Bragă-Ionela Cristiana
Elaborați un proiect pentru rezolvarea genetică a unei variante a problemei de optimizarea
Σ�����=�� este înlocuită cu ��� �≤Σ�����≤����
portofoliilor RISCMIN1, în care restricția :
���� și ���� sunt valorile extreme admisibile pentru randamentul prognozat. Ipoteza de lucru este că tranzacțiile de tip short selling sunt permise.
II.
Structura generală a unui algoritm genetic
i�0 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 i�i+1 pana cand(Conditie_terminare este satisfacuta)
III.
Specificarea fiecărei 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: Minimizează
T
V = y Qy n
cu restricţiile
����≤Σ�����≤���� ş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
Considerăm disponibil istoricul randamentelor procentuale pe m saptamani,unde:
r ij , randamentul acţiunii i în perioada j; m
´r i= 1 ∑ r ij , randamentul mediu al acţiunii i m j=1 n
y i , fracţiunea investită în acţiunea i, astfel încât S=∑ yi =1 i =1 2
σ i , varianţa acţiunii i: σ 2i =
m
1 ∑ ( r −´r )2 m j=1 ij i
σ ik , covarianţa dintre acţiunile i şi k: m
σ ik =
1 ∑ ( r −r´ ) ( r −r´ ) m j=1 ij i kj k
Portofoliul este definit de fracţiunile de investiţii
y1 , y2 , … , yn .
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:
SHORT SELLING - o valoare
y i negativă are semnificaţia că strategia optimă de investiţie implică
vânzarea de tip “short selling”, adică vânzarea unor active pe care investitorul nu le deţine, prin împrumutul acestora de la broker cu intenţia de a le returna ulterior. Strategia SHORT SELLING este efectivă doar în situaţia în care preţul acţiunilor este în scădere. Restricții în strategia SHORT SELLING: n=(x1,x2….xn-1)solutii fezabile
1≥ x ( i ) ≥−1 , 1≤ i ≤ n−1 n−1
n−1
y ( n )=1−∑ x ( i ) ∈ [ −1,1 ] � 0 ≤ ∑ x ( i ) ≤ 2 . i=1 i=1
4
Bragă-Ionela Cristiana
Selecţia părinţilor este realizată pe baza algoritmului SUS, prin utilizarea distribuţiei de probabilitate de selecţie de tip rang liniar, cu presiunea de selecţie s. Înaintea apelului, populația este sortată. La fiecare generaţie sunt selectaţi dim părinţi 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ă totală, cu ponderea p, celor
dim 2
perechi de cromozomi aleşi aleator din populaţia de părinţi, iar
rezultatele recombinării corespund întotdeauna unor soluții fezabile.
7
Bragă-Ionela Cristiana
Operatorul de mutaţie ales este cel de tip fluaj, cu o rată pm,t-prag.
Mecanismul de supravieţuire 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