You are on page 1of 15

AMO - Advanced Modeling and Optimization, Volume 4, Number 1, 2002

A genetic algorithm for portfolio selection problems1


Dan Lin2, Shouyang Wang
Institute of Systems Science, Academy of Mathematics and Systems Science
Chinese Academy of Sciences, Beijing 100080, China

Abstract: Two mean-variance models are proposed for portfolio selection with fixed
transaction costs and minimum transaction lots. The portfolio selection problems are
modeled as a non-smooth nonlinear integer programming problem with single
objective function and multiple objective functions respectively. A new genetic
algorithm based on NSGA-II is designed to solve the proposed models. It is illustrated
via a numerical example that the genetic algorithm can be used to solve portfolio
selection problems efficiently in practice.

1 Introduction
The mean-variance (MV) methodology originally proposed by Markowitz (1952) has
been playing a crucial role in the theory of portfolio selection and also gained
widespread acceptance as a practical tool for investment analysis. The classical
formulation of Markowitz’s model for portfolio selection is a quadratic programming
problem with a positive semidefinite matrix which is solvalbe in polynomial time.
However, when taking into account a practical situation such as fixed transaction
costs and/or minimum transaction lots (or minimum lots for simplicity), portfolio
selection becomes more complicated because the model is a mathematical
programming problem with mixed-integer variables and nonlinear objectives.
A number of authors have discussed the transaction costs in portfolio optimization
e.g., Mao (1970), Pogue (1970), Chen, Jen and Zionts (1971), Jacob (1974), Levy
(1978), Patel and Subhmanyam (1982), Mulvey and Vladimiron (1992), Dantzig and
Infanger (1993), Gennotte and Jung (1994), Yoshimoto (1996), Li , Wang and Deng
(2000). Most of them incorporated the transaction costs into the single-period or
multi-period portfolio selection models. It is generally believed that an optimal
portfolio selection problem with fixed transaction costs is a complex mathematical
programming problem. Because of the complexity, the convex quadratic
programming technique cannot be applied to solve such a problem (Yoshimoto 1996).
Very recently some authors included minimum lots into portfolio selection
problems (Speranza 1996, Kellerer et al. 1997, Mansini and Spernza 1999, Konno and
Wijayanayake 2001), while some of them considered transaction costs at the same
time. It was shown that a portfolio selection problem with minimum lots and without

1
Supported by Chinese Postdoctoral Funds,NSFC,MADIS and "The 100 Talent Program” of Chinese Academy
of Sciences.
2
The corresponding author, Email:lindan@iss04.iss.ac.cn.

13
any fixed costs is an NP-complete problem (Mansini and Speranza 1999), so a few
heuristics have been developed and shown to be quite effective for solving a problem
with minimum lots.
The genetic algorithms (GAs) were growing in popularity over the last few years.
GA is a stochastic, heuristic technique based on the natural selection principle, and it
does not need specific information to guide the search. Therefore, the GA can be
applied in a wide variety of domains. A comprehensive discussion on GAs can be
found in Holland (1975), Goldberg (1989) and Baeck et al (1995).
Since the mid-eighties of the last century, multi-objective genetic algorithms
(MOGAs) have been greatly developed to solve multi-objective scientific and
engineering problems (Coello 1999, van Veldhuizen 2000). Till to date, most of the
successful genetic type implementations for multi-objective optimization rely on the
concept of non-domination firstly proposed by Pareto, and among them are Niched-
Pareto-GA(NSGA) (Srinivas and Deb 1994) and its new version NSGA-II (Deb et al
2000).
As a “black-box” search algorithm, MOGA can deal with the multiple optimization
problems with non-smooth and even non-continuous objective or constraint functions.
Furthermore, being a population-based technique, it makes possible to lead to the
efficient front in a same evolution run.
In this paper, we will propose two models for portfolio selection with fixed
transaction costs and minimum lots. A NSGA-II based heuristic is designed to solve
these two models. The paper is organized as follows. In Section 2, we formulate the
models. A genetic algorithm is designed in Section 3. Computational results are given
in Section 4. Finally, a few concluding remarks are made in Section 5.

2 Models
The portfolio selection models with fixed transaction costs and minimum lots based
on a different risk measure was firstly introduced by Kelererer et al (1997). In this
section, we will present two new portfolio selection models with fixed transaction
costs and minimum lots in a traditional mean-variance framework.
First we introduce some notations. We denote by S the set of securities in which
the investor intends to invest a capital C , and suppose that C is fixed to range
between range C 0 and C1 , i.e. between the minimum and the maximum amount of
money available for the investment. Let s S be the number of the securities. Let
ri be the random rate of return on security i , where i  S . Suppose that all the
securities in S must be acquired in multiplies of a minimum transaction lot. Let N j
be the minimum transaction lot of security j . The quantity d j represents the
proportional cost associated with security j , and p j represents the quoted price of
security j at the time of its acquisition on the market. We denote by c j the
purchasing price for the minimum lot of security j . For each security, the minimum
lot is expressed in terms of money and is equivalent to c j N j ˜ p j . Thus, a portfolio

14
can be represented as x ( x1 ,..., x s ) , where x j represents the multiple minimum lots
of security j in the portfolio. We denote Ri E (ri ) the expected rate of return on
security i , and V ij cov(ri , r j ) the covariance between ri and r j . For security
j  S , we impose a maximum amount of capital which can be invested in it, denoted
by u j . Consider the case in which the investor is obliged to pay the corresponding
fixed cost f j when security j is chosen in a portfolio, and the fixed costs are
supposed to be incurred at the end of the period and are deduced from the portfolio
return. Hence, the net expected return R(x) of a portfolio x can be written as

R ( x) ( ¦ ( R j  d j )c j x j  ¦ f j z j ) / C ,
jS jS

where C ¦c
jS
j x j is the total sum of capital invested in the portfolio and z j is a

0  1 variable taking value 1 if and only if x j ! 0 . The variance V (x) is

V ( x) ¦¦ V
iS jS
ij yi y j

where y j ( x j c j ) / C is the fraction of the capital C invested in security j .


The first portfolio selection model with fixed transaction costs and minimum lots
proposed in this paper is a two objective programming problem. The problem can be
stated as follows:

minimize (- R(x), V ( x))


subject to
(P1) C 0 d ¦ c j x j C d C1 (1.1)
jS

0 d cjx jd ujzj (1.2)


z j  {0,1}
for all j  S

A portfolio x ( x1 ,..., x s ) is said to be feasible to (P1) if it satisfies all the


constraints of (P1). A feasible portfolio x * is said to be efficient if it is Pareto-
optimal solution to (P1), i.e., there exists no other feasible portfolio x such that
R ( x) t R( x * ), V ( x) d V ( x * ) with at least one strict inequality. The set of all the
efficient portfolios is called the efficient frontier of (P1). In GA community, the
solutions are traditionally called as chromosomes.
An efficient portfolio is one that maximizes the expected return R(x) as well as
minimizes the variance V (x) . According to the theory of multi-objective
optimization, an efficient portfolio is one that maximizes the expected portfolio return
~
R(x) under a given level of variance V or minimizes the portfolio risk V (x) under a
~
given level of expected return R . The efficient frontier can also be generated by
solving the following single objective non-smooth integer programming problem

15
minimize - (1 - O ) ˜ R(x)  O ˜ Z ˜ V ( x)
subject to
(P2) C 0 d ¦ c j x j C d C1 (1.1)
jS

0 d cjx jd ujzj (1.2)


z j  {0,1}
for all j  S

with parameter O varying in [0,1] . O can be interpreted as the risk aversion factor of
the investor. Z is some scaling parameter in order to keep the two objectives in the
same scale. By varying O and solving (P2), one is able to trace out at least a part of
the efficient frontier.
The fixed transaction costs may take on different forms. One model is proposed in
Kellerer et al (1997) where the fixed cost is charged if the sum of money invested in
the individual security exceeds a bound, represented by the parameter M1, and
otherwise no such cost is imposed. Another example is of more reality because at the
Japanese stock market where different amount of fixed transaction cost is imposed
according to the total amount of investment capital (Yoshimoto 1996).
Mathematically the fixed transaction cost function can be plotted as a step function
with two or more constant values.
Some attentions paid to the portfolio selection models with fixed transaction costs
and minimum lots. When the fixed transaction cost is of the type as a step function
with two values, the problem (P1) can be transformed into a mixed-integer
programming problem by adding an additional constraint and then the linear
programming based heuristics MILP (Mansini and Speranza 1999) can be used to
solve the problem. But for a step function which takes more than two values, this
approach will encounter difficulties. In Yoshimoto (1996), although the multi-value
step function typed fixed cost was discussed, the classical V-shaped transaction cost
function was considered for calculations instead. Kanno and Wijayanayake (2001)
considered the portfolio optimization problem with convex transaction cost function
and minimum lots. A branch and bound algorithm was used to calculate the optimal
solution (not integers in general). The solution is rounded to the nearest solution to
satisfy the minimum lots constraint. In all the above methods, the risk and return
measure functions are chosen in linear forms so that some linear programming
algorithms can be applied. But for our models (P1) and (P2) with quadratic risk terms,
those methods do not work.
Models (P1) and (P2) have the same constraints and are different only in the
manner in which the objective functions are treated. There are two types of constraints
in (P1) and (P2): the constraint (1.1) of the amount of invested capital and the bound
constraint (1.2). Constraint (1.1) implies that a fund will be nearly fully invested to
insure fully investment, like the constraint ¦ xi 1 in classical M-V models, while
(1.2) implies that short sales and borrowings are not allowed and a maximum amount
of capital is imposed on each security.
Because finding a feasible solution tothe models (P1) and (P2) is NP-hard (Mansini
and Speranza 1999), it is significant to design some heuristic algorithms to solve (P1)

16
and (P2).

3 Genetic algorithms
GAs have been used for solving portfolio selection problems. Chang et al (2000)
extended the classical M-V model to include cardinality constraints and used GA as
one heuristic algorithm to find the efficient frontier. However, neither transaction
costs nor minimum lots is considered. In Xia et al ( 2000), GA is used to solve an
extended M-V model with ordered expected returns. A V-shaped transaction cost
function is considered there.
In Vedarajan et al (2000), NSGA is used to calculate the efficient frontier of a
simple portfolio that consists of five stocks. The efficient frontier can be yielded in
just a run of the GA simulation, and the result seems very promising. A V-shaped
transaction cost function is considered, but no minimum lots constraints have been
taken into account..
NSGA was originally proposed in Srinivas and Deb (1994), and recently Deb et al
(2000) proposed an improved version of NSGA called NSGA-II. From the simulation
results of the NSGA-II on a number of difficult test problems, quite good performance
has been observed. For the details of an NSGA-II algorithm, one can refer to Deb et al
(2000).
In this section, we will design a genetic algorithm based on NSGA-II to solve
problems (P1) and (P2). Because (P1) and (P2) include constraints of discrete
variables, some components of NSGA-II should be revised and a new mutation
operator will be used. Since a detailed description of the GA will occupy too much
space, in the following we will only discuss the representation structure, initialization
process, cross and mutation operators, which are different from those of NSGA-II.
Representation structure: When using NSGA, one is allowed to choose binary or
real-coded representation. The binary representation traditionally used in GAs has
some drawbacks when it is applied to the integer programming problems ((P1) and
(P2). For example, if for some security i the xi is within [0,100] , then it is difficult

to use a fixed length binary chromosome to exactly represent all the integers lying
within [0,100] . A binary chromosome with length of 6 can represent all the integers

in [0,63], while a binary string of length 7 represents the integers in [0,127]. Even if
one could manage to deal with that, treating constraints in (P1) and (P2) would be a
tough task. Adopting the idea of real-coded representation used in GAs for
mathematical programming problems with real variables (Baeck et al. 1995), we will
represent a solution by the integer implementation in which each chromosome is
coded as a string of integer numbers

x ( x1 ,...., x s ) ,

17
and each xi lies in the range [0, upper (i )] , where upper (i ) [u i / ci ] for each i  S .
Here [˜] denotes the truncation function. This promises that the boundary constraint
(1.2 ) holds for every i  S .
Initialization process: As will be remarked later, in NSGA-II, there is no need to
treat the constraint (1.1) separately. Thus attention will be paid to keeping the
solutions from the initialization and throughout the whole simulation process to
satisfy the boundary constraint (1.2). For doing that, we generate random integer
xi  [0, upper (i )] for each i  S , and then an initialized solution x ( x1 ,..., x s ) is
generated. Repeat it for pop _ size times, where the parameter pop _ size is the
number of the population of chromosomes. Then the initialized population is
generated.
Crossover operator: In NSGA-II, SBX crossover (Deb and Agrawal 1995) operator
is used for real-coded representation chromosomes. In order to make it suit for our
integer-coded representation chromosomes, we suggest a tiny revision to it as follows.
After each time the crossover process happens, every variable xi (not an integer
value in general) of the children solution will be made to take an integer value xi'
according to the following form

­[ xi ] or [x i  1] randomly, if [ xi ]  1 d upper (i )
xi' ®
¯ upper(i), else

Here again, xi will be in the range [0, upper (i )] .


Mutation operator: A natural mutation operator suitable for integer-coded
chromosome is used in this paper rather than the Parameter Based Mutation Operator
used in NSGA-II. It works as follows: for a parent chromosome x ( x1 ,..., x s ), if for
some i , 1 d i d s , xi has been chosen to be mutated, a random integer k is generated
according to Possion distribution with parameter O . Then xi is mutated to be xi'
which takes the following form

­ xi  k , if 0 d xi  k d upper (i )
°
x '
i ® 0, if xi  k  0
° upper (i ), if x  k ! upper (i )
¯ i

The main loop and other key issues of the GA are the same as that of NSGA-II. There
is another improvement to NSGA-II which is to be discussed in Section 4.
There are two features of NSGA-II and the proposed GA. For the constraint (1.1),
every solution is given a violation measure g (x) where

­ 0, if C 0 d C d C1
°
g ( x) ® C0  C, if C  C 0
°C-C1, if C ! C1,
¯

18
Obviously, a solution is feasible if an only if g ( x) 0 . By guaranteeing that (1): a
feasible solution is always better than an infeasible solution and (2): an infeasible
solution with a small g (x) is always superior to an infeasible solution with a
large g (x) , an tournament selection method and elitism strategy (Deb et al 2000)
implemented in NSGA is able to find and keep feasible solutions in the population
quickly and efficiently.
Besides it should be mentioned that since the GA does not utilize any particular
properties of the objective functions such as linearity, convexity or differentiability,
the fixed transaction cost with multi-value step function does not add any difficulty to
calculation of the objective values.
Although the proposed GA is originally designed for multiple objective
programming problems as NSGA-II upon which it is based, it is efficient for the
single objective programming problems which can be viewed as a special case of the
multi-objective optimization problems. Because GA for multi-objective and single
objective problems mainly differs in the way in which elitism strategy is applied, only
a tiny revision should be needed which will be discussed in the next section.

4 Simulation results

In this section, we will give some simulations to illustrate the NSGA-II based GA
proposed in the previous section for solving two portfolio selection problems with
fixed transaction costs and minimum lots. All the simulations are carried out in a
Pentium 550MHZ machine.

4.1 Problem description and GA settings

Consider the following portfolio selection problem. The returns of six stocks from
time t-7 to time t are given in Table1, and Table 2 gives the price per share of the
stocks at time t.

Table 1. Security returns and mean


Period t-7 t-6 t-5 t-4 t-3 t-2 t-1 t mean
Stock 1 0.04 0.07 0.09 0.13 0.14 0.17 0.21 0.24 0.136
Stock 2 0.14 0.06 0.08 0.15 0.11 0.13 0.10 0.11 0.11
Stock 3 0.13 0.13 0.11 0.15 0.10 0.07 0.14 0.11 0.11
Stock 4 0.12 0.04 0.18 0.13 0.19 0.16 0.14 0.11 0.135
Stock 5 0.18 0.06 0.22 0.15 0.14 0.06 0.08 0.09 0.122
Stock 6 0.15 0.04 0.08 0.06 0.13 0.05 0.10 0.09 0.088

Table 2. Security price


Stock 1 2 3 4 5 6
Price 12.44 18.59 45.12 26.45 19.78 35.21

19
The minimum lots is set to be 100 when buying and selling stocks. In constraint
(1.1), C 0 1,000,000 and C1 1,00,5000 . For each security i  S ,
u i 0.2 ˜ C 0 200,000 . Denote by C the amount to be invested in stock i , then the
proportional transaction costs P(C ) and fixed transaction costs F (C ) are

­ P(C ) 0.0115C , F (C ) 0 if C  10,000


° P(C ) 0.009C , F (C ) 25 10,000 d C  50,000
° if
®
° P(C ) 0.007C , F (C ) 125 if 50,000 d C  100,000
°¯ P(C ) 0.00075C , F (C ) 785 if C t 100,000

One difficulty we encounter in the simulation is that because we can not find any
existing efficient optimization algorithms for either (P1) or (P2), the results of our GA
will lack benchmark for comparison. So we have to enumerate all the possible
solutions and finally found the efficient frontier as depicted in the figures all below. It
costs over 4 hours to obtain the results. If we keep C 0 and C1 fixed, and suppose
that the price of all the stocks is below 100 , then 6 is the reasonable number of the
stocks considered for enumeration.
To solve (P1) with the genetic algorithm based on NSGA-II, we let the probability
of crossover Pc be 0.95 and the probability of mutation Pm be 1/(chromosome
length) 1 6 as proposed in NSGA-II, and the parameter O for Poisson distribution is
0.5.
For (P2), pop _ size is set to be 300. As the population size decreases, we use the
simple elitism strategy (Baeck et al 1995), i.e. the best individual in the current
population will be always preserved into the next generation. The selection pressure is
too high for the single objective problem (P2) and relatively smaller population when
using the elitism strategy of NSGA-II. The other settings are the same as that used for
(P1). By varying O from 0 to 1 with increment 0.004 , we will have to perform
GA for 250 times and then using all the 250 solutions to get the efficient frontier. We
choose two different scaling parameter Z in (P2): (1) Z 1 , which means that no
scaling is introduced; (2) Z 270 , which is set according to the enumeration results.
The total generations of evolution in all situations is fixed as 200.

4.2 Computational results

The bold spots in all the following figures represent the true efficient frontier (denoted
by E-F in the figures) obtained by enumeration. Figures1-2 give the results of using
the GA to solve (P2) when scaling parameter Z 1 and Z 270 respectively. The
CPU time for 250 simulation is about 2,500 seconds. As can be observed from the
figures, the results in Figure 1 is not satisfactory. Seldom solutions lying in the
efficient frontier have been found, resulting from the fact that in all most all the 250
simulations, the population has converged to the solution with maximum return.
Besides the solution with minimum risk has also been found by the GA when O 0 .

20
In contrast, for Z 270 , the solutions are all lying in the efficient frontier and they
spread uniformly along the efficient frontier and from them it is not difficult to draw
an outline of the efficient frontier. All the results prove further that appropriate scaling
parameters in (P2) which trade off return against risk play an important role in the
optimization. Unfortunately there lack instructions on how to choose appropriate Z
before simulation and one has to adjust Z according to the results of simulations.

0 .1 1 9

0 .1 1 8

0 .1 1 7

0 .1 1 6
R e tu rn

0 .1 1 5

0 .1 1 4

0 .1 1 3

0 .1 1 2

0 .1 1 1
E -F
GA
0 .1 1
4 .1 4 .2 4 .3 4 .4 4 .5 4 .6 4 .7 4 .8 4 .9 5 5 .1
R is k x 10
-4

Figure 1. GA for (P2) with Z 1

0 .1 1 9

0 .1 1 8

0 .1 1 7

0 .1 1 6
R e tu rn

0 .1 1 5

0 .1 1 4

0 .1 1 3

0 .1 1 2

0 .1 1 1
E -F
GA
0 .1 1
4 .1 4 .2 4 .3 4 .4 4 .5 4 .6 4 .7 4 .8 4 .9 5 5 .1
R is k x 10
-4

Figure 2. GA for (P2) with Z 270

When using the NSGA-based GA for the multi-objective programming problem


(P1), the situation changes drastically. Figure 4 gives the results of a run of 200
generations using the proposed GA for (P1) where pop _ size 800 . From this figure
we observe that the efficient solutions in the last population created in GA simulation
21
are almost all in the true efficient frontier, and they spread widely and uniformly such
that the true efficient frontier can be almost depicted from them alone. But in the both
extreme ends of the efficient frontier where the maximum return and the minimum
risk are obtained, there are not single solution which has entered the vicinity of both
ends. This situation is just on the contrary to the fact that when using GA for (P2) the
near extreme points in the frontier can be easily found. Meanwhile, simply creasing
the population size does not change the situation as shown in Figure 5, where the
pop _ size is increased up to 3,000.
Considering all the computational results of GA both for (P1) and (P2), we propose
an improvement to GA when it is used to solve problem (P1):
1. Before the initialization process, use GA to solve (P2) with O 0 or 1 to obtain
the solutions with minimum risk or maximum return.
2. Insert the solutions into the initialized population before the simulation begins.
3. Repeat inserting the solutions into current population before evolution in every
generation.
Figures 6-9 show the evolution process of a population of solutions with the
pop _ size 1500, when using the improved GA for (P1). In the initial population, there
are full of infeasible solutions. All of the solutions in the population at generation 50
become feasible. Till generation 120, the population approaches the efficient frontier,
and in generation 200 this has at last happened. One can notice that the two solutions
which are attained by using GA to solve (P2) for O 1 and 0 are always in the
population and gradually induce the population to spread towards the both extreme
ends of the frontier. The final result is very satisfactory.
For such a simulation as illustrated in Figures 6-9, the spent CPU time is less than
400 seconds.
Comparing to (P2), using GA directly to solve (P1) has two advantages. One is that
there is no need to choose and adjust the scaling parameter Z and, more importantly,
it costs much less time to obtain a much better solution.

Figure 3. GA for (P1) with pop _ size 500

22
Figure 4. GA for (P1) with pop _ size 3000

Figure 5. The initial population

23
Figure 6. The population at generation 50

Figure 7. The population at generation 120

24
Figure 8. The population at generation 200

We have experimented with larger numbers of stocks for the proposed GA. Figure
10 gives the results of using GA to solve (P1) with a portfolio including 250 stocks,
where the pop _ size 3000 and it evolves until 400 generations. Although we did
not find even the approximate true efficient frontier under this situation, we are sure
that the efficient frontier obtained by the GA is a good approximation to the true one.
It takes about 14 minutes to obtain the results. GAs do not suffer from a combinatorial
explosion of stocks.
It is worthwhile to highlight that as GAs are highly parallel algorithms in nature
(Goldberg 1989), it is easy to implement GAs on parallel architectures and the
efficiency can be improved drastically.

0.15

0.14

0.13

0.12
R e tu rn

0.11

0.1

0.09

0.08

0.07

0.06
0 1 2 3 4 5 6 7 8 9
R is k x 10
-3

Figure 9. GA for (P1) with 250 stocks

25
5 Conclusions

In this paper, we have proposed two new mean-variance models for portfolio selection
with both fixed transaction costs and minimum lots. As the models are nonlinear,
multiple objectives integer programming problems, we design a GA based on NSGA-
II to solve the programming problems. Computational results show that the proposed
GA is a promising tool to solve portfolio optimization problems.

References

Baeck, T., Fogel, D.B. and Michalewicz, Z.(Eds.)(1997), Handbook of Evolutionary


Computation. Oxford University Press, Oxford.
Chang, T.J., Meade, N., Beasley, J.E. and Sharaiha, Y.M.(2000), Heuristics for
cardinality constrained portfolio optimization, Computers and Operations Research,
27,1271-1302.
Chen, A.H.Y., Jen, F.C.and Zinots, S.(1971), The optimal portfolio revision policy,
Journal of Business, 44,51-61.
Coello Coello, C.A.(1999), A Comprehensive Survey of Evolutionary-Based
Multiobjective Optimization Techniques. Knowledge and Information Systems 1,
269-308.
Dantzig, G.B. and Infanger, G.(1993), Multi-stage stochastic linear programs for
portfolio optimization, Annals of Operations Research,45, 59-76.
Deb, K. and Agrawal, R.B.(1995), Simulated binary crossover for continuous search
space, Complex Systems, 9,115-148.
Deb, K., Agrawal S., Pratab A. and Meyarivan, T.(2000), A Fast Elitist Non-
Dominated Sorting Genetic Algorithm for Multi-Objective Optimization: NSGA-II,
KanGAL report 200001, Indian Institute of Technology, Kanpur, India.
Fama, E.(1965), Portfolio analysis in a stable market. Management Science,11, 404-
419.
Gennotte, G. and Jung, A.(1994), Investment strategies under transaction costs: the
finite horizon case, Management Science,40, 385-404.
Goldberg, D.E.(1989), Genetic Algorithms in Search, Optimization and Machine
Learning, Addison-Wesley, New York, NY.
Holland, J.H.(1975), Adaptation in natural and artificial systems, University of
Michigan Press, Michigan.
Jacob, N.L.(1974), A limited-diversification portfolio selection model for the small
investor, Journal of Finance,29,847-856.

26
Kellerer, H., Mansini, R. and Speranza M.G.(1997), On selecting a portfolio with
fixed costs and minimum lots, Working paper at Dip. di Metodi Quantitativi,
Universita di Brescia, C.da.S Chiara 48/b, 25122 Brescia, Italy.
Konno, H. and Wijayanayake, A.(2001), Portfolio optimization problems under
concave transaction costs and minimal transaction unit constraints, Mathematical
Programming, 89, 233-250.
Levy, H.(1978), Equilibrium in an imperfect market: a constraint on the number of
securities in the portfolio, American Economic Review, 68,643-658.
Li, Z.F., Wang, S.Y. and Deng, X.(2000), A linear programming algorithm for optimal
portfolio selection with transaction costs, International Journal of Systems Science,
31,107-117.
Mao, J.C.T.(1970), Essentials of portfolio diversification strategy, Journal of Finance
25,1109-1121.
Markowitz, H.(1952), Portfolio selection,Journal of Finance,7, 77-91.
Mulvey, J.M. and Vladimirou, H.(1992), Stochastic network programming for
financial planning problems, Management Science,38, 1642-1664.
Patel, N. R. and Subrahmanyam, M. G.(1982), A simple algorithm for optimal
portfolio selection with fixed transaction costs, Management Science, 28,303-314.
Pogue, G.A(1970), An extension of the Markowitz portfolio selection model to
include variable transaction costs, short sales, leverage policies and taxes, Journal
of Finance, 25, 1005-1028.
Speranza, M. G.(1996), A heuristic algorithm for a portfolio optimization model
applied to the Milan stock market, Computers & Operations Research,23,433-441.
Srinivas, N. and Deb, K.(1995), Multi-objective function optimization using non-
dominated sorting genetic algorithms, Evolutionary Computation,2, 221-248.
van Veldhuizen, D.A. and Lamont, G.B.(2000), Multiobjective Evolutionary
Algorithms: Analyzing the State-of-the-Art, Evolutionary Computation,8, 125-147.
Vedarajan, G., Chan, L.C. and Goldberg, D.(2000), Investment portfolio optimization
using genetic algorithms, in: Gonnet, G.H., Panario, D., Viola, A. (Eds.), Lecture
Notes in Computer Science, vol. 1776. Springer.
Xia, Y. and Wang, S.Y.(2000), A model of portfolio selection with order of expected
returns. Computers & Operations Research, 27, 409-422.
Yoshimoto, A.(1996), The mean-variance approach to portfolio optimization subject
to transaction costs, Journal of Operations Research Society of Japan 39,99-117.

27

You might also like