You are on page 1of 15

Accepted Manuscript

Fireworks algorithm for mean-VaR/CVaR models

Tingting Zhang, Zhifeng Liu

PII: S0378-4371(17)30339-4
DOI: http://dx.doi.org/10.1016/j.physa.2017.04.036
Reference: PHYSA 18138

To appear in: Physica A

Received date: 1 January 2017


Revised date: 10 March 2017

Please cite this article as: T. Zhang, Z. Liu, Fireworks algorithm for mean-VaR/CVaR models,
Physica A (2017), http://dx.doi.org/10.1016/j.physa.2017.04.036

This is a PDF file of an unedited manuscript that has been accepted for publication. As a
service to our customers we are providing this early version of the manuscript. The manuscript
will undergo copyediting, typesetting, and review of the resulting proof before it is published in
its final form. Please note that during the production process errors may be discovered which
could affect the content, and all legal disclaimers that apply to the journal pertain.
*Highlights (for review)

Highlights

• Introduce fireworks algorithm to solve the mean-VaR/CVaR model.


• Fireworks algorithm is better than genetic algorithm in portfolio optimization
problem.
• Fireworks algorithm improves the optimization accuracy and the optimization speed.
• The optimal solution from fireworks algorithm is more stable.
*Manuscript
Click here to view linked References

Fireworks Algorithm for mean-VaR/CVaR models


Tingting Zhang1, Zhifeng Liu2*
1. College of Management and Economics, Tianjin University, Tianjin 300072, China

2. School of Economics and Management, Hainan University, Haikou 570228, China

Abstract: Intelligent algorithms have been widely applied to portfolio optimization


problems. In this paper, we introduce a novel intelligent algorithm, named fireworks
algorithm, to solve the mean-VaR/CVaR model for the first time. The results show
that, compared with the classical genetic algorithm, fireworks algorithm not only
improves the optimization accuracy and the optimization speed, but also makes the
optimal solution more stable. We repeat our experiments at different confidence levels
and different degrees of risk aversion, and the results are robust. It suggests that
fireworks algorithm has more advantages than genetic algorithm in solving the
portfolio optimization problem, and it is feasible and promising to apply it into this
field.
Keywords: Fireworks algorithm; Portfolio optimization; Genetic algorithm; Value at
risk

1. Introduction
Intelligent algorithms have received extensive attentions from academia because
of its advantages in solving complex optimization problems. Actually, many classical
intelligent algorithms, such as genetic algorithm, particle swarm optimization
algorithm, ant colony algorithm, etc., have been used in this field and made a lot of
great achievements.
Fireworks algorithm, as a novel algorithm and a new member of intelligent
algorithm family, is proposed by Tan and Zhu(2010)[1]. By mimicking the fireworks
explosion process, fireworks algorithm can make an efficient search to obtain the
optimal solution. The Figure 1 shows the basic flowchart of fireworks algorithm.

*
Corresponding author. Email:zhfliu@126.com
Select n initial locations

Set off n fireworks at n locations

Obtain the Iocations of sparks

Evaluate the quality of the locations

Optimal location found Yes

Select n locations End

Fig.1 The basic flowchart of fireworks algorithm


Source: Tan and Zhu (2010)

Fireworks algorithm has obtained continuous attentions from scholars in various


fields since it was proposed, and after several years of development, it has acquired a
series of notable achievements in both theory and application.
There are two kinds of theoretical achievement in fireworks algorithm’s
improvement. One is trying to improve the operators of the basic fireworks algorithm.
For example, by using three methods to approximate fitness landscape, Pei etc. (2012)
found that elite strategy can accelerate the search process[2]. Liu etc. (2013) improved
the fireworks algorithm through introducing a new method to calculate the intensity
and amplitude of firework explosion[3]. Zheng etc. (2013) presented an enhanced
version of fireworks algorithm based on some modifications on the operators[4]. On
the basis of these papers, Zheng etc. (2014) further proposed the dynamic search
fireworks algorithm and the adaptive fireworks algorithm[5, 6], both of which involved
the adaptive process and achieved better performance. The other direction is trying to
take some advantages of the other heuristic algorithms and then form a new hybrid
algorithm. So far, some heuristic algorithms, such as differential evolution algorithm[7],
culture algorithm[8], biogeography-based optimization algorithm[9], have been
introduced into the fireworks algorithm and the performance of the operators has been
improved immensely.
Because of its powerful ability to solve the optimization problem, fireworks
algorithm has been applied in different optimization problems of different areas. The
main application fields includes equations solving, knapsack problem, image
recognition, filter design, etc.[10-12], and a great potential is being shown.
In order to further investigate the applicability and validity of fireworks
algorithm, in this paper, we apply it into the field of portfolio optimization. It is well
known to all that, since the Markowitz mean-variance model has been proposed, the
portfolio optimization problem becomes an important issue in financial field and has
attracted much attention from academia[13, 14]. As the portfolio problem is a NP-hard
problem and some classical optimization algorithms have their own limits, some
intelligent optimization algorithms have been widely used in this field, such as genetic
algorithm, particle swarm optimization algorithm, and so on. Fireworks algorithm is
also such a novel one of these algorithms, which motivates us to introduce it into
solving the classical portfolio optimization problem. Zhang, Zhang and Liu (2016)
have given a preliminary discussion on this topic[15]. In this paper, we further give an
in-depth discussion by using it to solve the mean VaR/CVaR model. There are two
main purposes and contributions as follows. One is trying to apply fireworks
algorithm into the field of portfolio optimization, and as we know, this method hasn’t
got much attention in this field yet. The other aim is to find the advantages of
fireworks algorithm in this field by comparing it with the classic genetic algorithm.

2. The fireworks algorithm


Fireworks algorithm is a new intelligent algorithm which was proposed by Ying
Tan in 2010. Through mimicking the explosion process of fireworks, this algorithm
can search the optimal solution efficiently. Besides, the searching process also
involves the random factors and selection strategy to form a parallel search pattern, in
order to obtain the optimal solution of a complex optimization problem. Firstly, we
will give a simple introduction to this algorithm, and more details can be seen in a
series of Ying Tan’s research works[1, 16].
The general optimization problem can be expressed as the following form:
Minimize f  x   , xmin  x  xmax (2.1)

x  x1 , x2 , , xd f  x
Where is a d-dimensions vector in the solution domain; is an
objective function of a specific optimization problem, which also can be called fitness

function;
xmin and xmax are the lower and upper bounds of the solution domain,
respectively.
For the above optimization problem, the basic idea of fireworks algorithm is to
initialize M fireworks, detonate them in the solution space, and then select M
descendant fireworks to continue the iterative process according to certain rules.
Specifically, fireworks algorithm mainly consists of the following four parts:
explosion operator, mutation operator, mapping rule and selection strategy. Among
them, the explosion operator includes three parts, i.e., explosion intensity, explosion
amplitude and displacement operator. The mutation operator uses the Gauss mutation
to increase the diversity of population. Modular arithmetic is the common method to
be use in the mapping rules, which maps the sparks that fall outside of the feasible
domain into the feasible zone. To ensure the iteration continuing, some sparks will be
selected using the selection strategy, and the distance selection strategy and the
random selection are the frequently used strategies.
Explosion operator is the core component of fireworks algorithm, and it
constitutes by three parts: explosion intensity, explosion amplitude and displacement
operator. Intuitively, explosion intensity is measured by the number of explosion
sparks, while the explosion amplitude is measured by the displacement distance. The
basic idea to decide the explosion intensity and amplitude is that, for every ‘firework’
(representing the potential solution), the less the value of corresponding fitness
function is, the bigger the explosion intensity is, and the less the explosion amplitude
is (and vice versa).
The explosion intensity, measured by the number of sparks, can be shown like
this:
ymax  f  xi   
si  m  (2.2)
 y  f  xi    
n
i 1 max

Where
si is the number of sparks which is generated by the i-th fireworks; m is a

f  xi 
constant to limit the total amount of sparks; is the fitness value of the i-th
ymax  max  f  xi    i  1,2, , n 
firework; is the largest fitness value for the current

population; and  is a small positive constant to avoid division by zero.


As the number of sparks produced by formula (2.2) may be too much or too less
for the algorithm, we further set a restriction on the number of sparks, and the bounds
of si are given as follows:

 round  a  m  , if si  am;

sˆi  round  b  m  , if si  bm, a  b  1; (2.3)
 round  si  , otherwise.

sˆi
Where is the number of sparks which is generated by the i-th fireworks,

round 
is an rounding function returning an integer, and a and b are the
constants given in advance.
The explosion amplitude, measured by the displacement distance, is given as the
following formula:
f  xi   ymin  
Ai  Aˆ  n
 i 1  f  xi   ymin    (2.4)

Ai
Where represents the explosion amplitude of the i-th fireworks, Â is a constant,

ymin  min  f  xi   i  1,2, , n 


denoting the upper limit of the explosion amplitude,
f  xi 
is the smallest, hence, the best fitness value of the current population, and

and  have the same meaning as Equation (2.2).


After we obtain the explosion intensity and amplitude, we also should randomly
select z dimensions to make the fireworks drift. The formula to perform this operation
is as below:
z  round  d  rand  0,1  (2.5)

rand  0,1
Here, d is the dimension of x , and is a function to generate a single
uniformly distributed random number between 0 and 1. For the selected dimension,
the displacement formula is given by:
xik  xik  rand  0, Ai  (2.6)

rand  0, Ai  Ai .
Where also returns a random number between 0 and
From the above operations, we can obtain many sparks and only some can be
selected for the next generation. The basic idea of selection strategy is to ensure the
spark in current population with the smallest fitness value will always been selected,
and the remaining n-1 sparks are determined by the Euclidean distance between it and
other sparks. The Euclidean distance is defined by Equation (2.7):
R  xi    d  xi , x j    xi  x j (2.7)
jK jK

Where K is the full set of current population, including not only the fireworks but
also the sparks derived from the explosions. In order to guarantee the diversity, the
farther the sparks are away from the other locations, the more likely they will be
elected out. The corresponding selection probability of each spark is decided by the
following formula:
R  xi 
p  xi  
Rxj 
(2.8)
 jK

The Equation (2.8) shows that the spark which has larger average distance will
has higher probability to be selected, while the spark with a smaller average distance
will be selected at a lower probability.
Equations (2.2)-(2.8) form a complete iteration step of fireworks algorithm, and
sparks selected in this step will be the initial location of the next iteration. The
iteration terminates when the stopping criterion is satisfied.

3. Application for Mean-VaR/CVaR portfolio model


Fireworks algorithm has exhibited its superiority in some other optimization
problems in different fields, and in this section, we further applies it to solve the
portfolio optimization problem, specifically, to solve the mean-VaR and the
mean-CVaR model.

3.1 Mean-VaR/CVaR portfolio model


Markowitz has established a basic analytical framework for portfolio theory by
proposing the classical mean-variance model. Under this basic framework, this paper
considers a portfolio P with N assets, given the short-selling restriction. The general
portfolio model can be written as the following constrained minimization problem:
min   Risk P  1     RP
N
s.t. x
i 1
i  1,
(3.1)
xi  0.
i  1, 2, ,n

Where 0   1 is a risk aversion coefficient, to seek a


trade-off between maximizing return and minimizing risk, and a smaller  implies
less aversion to risk, and vice versa. Extremely speaking, when   0 , the investors
will only concern about the portfolio’s return, regardless of how high the risk is.
Conversely, when   1 , the investors only care about the portfolio’s risk without
N
R p   ri xi
Rp i 1
considering the return. is the return of the portfolio P, and , where
xi is the investment proportion on asset i, and ri is the return of asset i. Risk is
p

the risk of the portfolio P, and if we use the standard deviation to measure it, it can be
calculated as follows:
N N
Risk P   p   x x 
i 1 j 1
i j ij
(3.2)

 ij
Here, is the covariance of asset i and j.
This paper will use other two different risk measures, VaR and CVaR, of which
there are some big advantages over the variance risk measure. VaR is a classical
method to measure risk proposed by JP Morgan. The intuitive meaning of VaR is the
maximum possible loss of a portfolio in the specific period, at a given probability
level. As VaR method is simple and easy to calculate, it has been widely used in

financial risk management. The calculation of VaR, under the confidence level of  ,
is given as follows[17]:
VaR  x   min   R :   x,     (3.3)

  x, 
Where is the cumulative distribution function of the loss, and under the
hypothesis of normal distribution, VaR can be written as follows:
VaR  1      P  RP (3.4)

  
Where is the distribution function of normal distribution.
However, VaR method also has some inherent defects itself, especially does not
satisfy the consistency axiom, so Rockafellar and Uryasev (2000) provide a CVaR
method which satisfies the consistency axiom perfectly[17], and
CVaR is calculated by the following equation:

CVaR  x   1    f  x, y  p  y  dy.
1
 f x , y  VaR  x 
(3.5)

Because equation (3.5) is difficult to calculate, Rockafellar and Uryasev (2000)


define a key connection function by this equation:

F  x ,     1     f  x, y     p  y  dy,
1
 yR m
(3.6)

 x  max  x, 0 f  x, y 

Where , is the loss function, and  is the VaR value

under the confidence level of  . Thus, this function gives a connection with 

-VaR and  -CVaR.

Furthermore, we can calculate F  x ,  approximately in various ways. For

example, according to y’s density, p ( y ) , we can sample its probability distribution.

More specifically, if we consider the historical data generated from the sampling, then
the corresponding approximation to F  x ,  can be written as:

q 
1
F  x,      
q 1    k 1
  xT     . (3.7)

Where  are q kinds of situations for the loss.


After using VaR and CVaR as the risk measures in Equation (3.1), we can obtain
the mean-VaR model and mean-CVaR model, respectively.

3.2 Coding
When solving the portfolio problem, each firework represents a feasible solution
and carries two kinds of information: the investment proportion in each asset and the
corresponding fitness function value. Therefore, the code formula of each firework is
as follows:
   x1 , x2 , , xN ; fitness  x   (3.8)
Since there is a normalized constraint on the investment proportion, i.e., the
sum of proportions equals one, and the original fireworks algorithm is only coded to
the problem with a bounded constraint, we need to modify the generation mechanism
of sparks to satisfy the constraint condition. This paper adopts the simplest way to
deal with this process: based on the original algorithm code, after each step of the
selection strategy in is executed, we add a normalized constraint to the selected sparks.
Then, the modified code can be written as:
 '   x1 , x2 , , xN  s ; fitness  x '   (3.9)

N
s   xi
Where i 1 , which is the key to guarantee the optimization solution satisfy the
normalized constraint. Essentially, it maps all sparks generated from the explosion
process to a unit space. Of course, for the normalization method, some possible better
ways of mapping needs further investigation.

4、The empirical results


Based on the mean-VaR/CVaR models, this paper constructs a portfolio
consisting of 10 stocks (i.e., N  10 ), randomly selected from the Shanghai A-share
market, to verify the efficiency of fireworks algorithm. All the data is from the WIND
database, and the sample period is from January 2013 to December 2014. The daily
return we used is calculated as Rt =100* ln  Pt   ln  Pt 1   , where Pt is the close

price of stock.
The detailed steps to obtain this 10-stocks portfolio are as follows. First, we
exclude all the “special treatment” stocks. And then, we sort all the remaining stocks
in descending order according to their market capitalization at the end of the year
2014. Finally, we select the 10 stocks by equal spacing (1st, 101st, 201st, …,901st).

Table 1 The descriptive statistics of 10 stocks


Stock name Stock Market value(ten Average rate of Standard
code thousand) return deviation
1 Petro China 601857 175037766.10 0.0531 1.2518
2 Gezhouba 600068 3253799.23 0.1212 1.9323
3 China World Trade 600007 1540134.99 0.0659 2.2264
4 Guojiqiche 600335 1004088.26 0.0790 2.8460
5 Wynca 600596 704993.65 0.0738 2.9388
6 TDG 600330 546423.48 0.1168 3.0177
7 Baoshenggufen 600973 442652.90 0.1475 2.4893
8 Shuguanggufen 600303 341831.07 0.0669 2.6061
9 Minjiang 600131 0.0473 1.9688
263056.91
Hydropower
10 Xiangligufen 600506 167056.47 0.0543 2.3641
Table 2 10 stocks’ covariance matrix
1 2 3 4 5 6 7 8 9 10
1 1.5669 0.7709 0.4119 0.1736 0.1410 0.1633 0.3980 0.3132 0.4182 0.2203
2 0.7709 3.7339 1.4161 1.0844 1.3114 1.5095 1.3513 1.2080 1.6629 0.9856
3 0.4119 1.4161 4.9570 1.3940 1.4517 1.7108 1.2913 1.6210 1.2301 0.4860
4 0.1736 1.0844 1.3940 8.0999 1.8483 2.6188 1.7449 2.0449 1.4058 0.9891
5 0.1410 1.3114 1.4517 1.8483 8.6367 3.1700 2.3458 2.3662 1.7936 1.5307
6 0.1633 1.5095 1.7108 2.6188 3.1700 9.1064 2.4694 2.7495 1.9181 1.1830
7 0.3980 1.3513 1.2913 1.7449 2.3458 2.4694 6.1964 2.4743 1.2482 1.2753
8 0.3132 1.2080 1.6210 2.0449 2.3662 2.7495 2.4743 6.7915 1.5455 1.3805
9 0.4182 1.6629 1.2301 1.4058 1.7936 1.9181 1.2482 1.5455 3.8762 1.4229
10 0.2203 0.9856 0.4861 0.9891 1.5307 1.1830 1.2753 1.3805 1.4229 5.5892

Table 1 shows the descriptive statistics of the selected 10 stocks, and Table 2
shows the covariance matrix.
In order to verify the efficiency of fireworks algorithm in solving the mean-VaR
model and the mean-CVaR model, this paper chooses the standard genetic algorithm
for comparison. There are some other intelligent algorithms applied to solve the
portfolio optimization problems, but among them, the genetic algorithm is the most
well-known and influential one, which is originally proposed by Holland. Based on
the evolutionary process of biological organisms in nature, studies have shown that
genetic algorithm is a promising approach to this field and has shown its superiority.
For example, Shoaf and Foster (1996) introduce the genetic algorithm for the efficient
set portfolio problem and find that its time complexity is better than that of quadratic
programming[18]. Chang et al.(2000) use three heuristic algorithms for solving the
standard and constrained portfolio optimization model, and find the genetic
algorithm[19].
Specifically, we consider the models under the different confidence levels (90%,

95%, 99%) and different degrees of risk aversion(   0.2 ,   0.5 ,   0.8 ). The
number of iterations for each experiment will be fixed to 1000, and each experiment
will be repeated 100 times. In fireworks algorithm, how to set the initial number of
fireworks and the number of sparks generated from firework explosion process
depends on the specific optimization problem, which needs to seek a balance between
the accuracy of solution and the elapsed time. In general, more initial fireworks and
sparks from the explosion will lead to a higher accuracy, but more time consuming. In
order to avoid the distortion of comparison result caused by parameter setting, this
paper sets both the initial fireworks’ number and the corresponding sparks’ number as
1. With this simplest parameter setting, there will to be a worst accuracy. For other
parameters, this paper uses the original parameters setting of the basis fireworks
algorithm which is given by the computational intelligence laboratory of Peking
University. And all the parameters of genetic algorithm are the same as the default
settings in the genetic algorithm toolbox in Matlab 12.0, except the terminating
condition. Note here that we run the programs on a PC with a 3.70 GHz Intel i3-6100
CPU and 8 GB of RAM.
Table 3 and Table 4 show the optimization results of the mean-VaR model and
mean-CVaR model respectively. Given different confidence level and different risk
aversion coefficient, we can obtain the results from fireworks algorithm and genetic
algorithm, including return of the portfolio, risk (VaR or CVaR) of the portfolio, the
objective function value and the computer time in seconds (note here that all the times
reported only include the optimization time). All these values are averages of 100
experiments, and the number in brackets is the corresponding standard deviation.

Table 3 Optimization result of mean-VaR model


confidence level 0.2 0.5 0.8
FA GA FA GA FA GA
90% R 0.074163 0.070875 0.066340 0.066469 0.064452 0.065413
(0.000197) (0.002146) (0.000195) (0.001199) (0.000244) (0.001215)
VaR 1.262832 1.259739 1.243074 1.248888 1.241897 1.247876
(0.000794) (0.020688) (0.000203) (0.004104) (0.000119) (0.004106)
Min 0.193236 0.195248 0.588367 0.591210 0.980627 0.985218
(0.000008) (0.003044) (0.000022) (0.001839) (0.000067) (0.003232)
Time(s) 0.3890 81.6381 0.4060 88.5203 0.4176 95.6899
95% R 0.071203 0.068943 0.065189 0.066164 0.063724 0.065402
(0.000210) (0.001468) (0.000223) (0.001111) (0.000211) (0.001405)
VaR 1.627869 1.626031 1.612806 1.620264 1.611909 1.620659
(0.000840) (0.006678) (0.000235) (0.004576) (0.000077) (0.006341)
Min 0.268611 0.270052 0.773809 0.777050 1.276782 1.283447
(0.000012) (0.000920) (0.000037) (0.002041) (0.000055) (0.004925)
Time(s) 0.4031 79.0380 0.3539 69.0637 0.4331 90.2476
99% R 0.068204 0.067402 0.064096 0.065314 0.063021 0.064945
(0.000205) (0.001420) (0.000216) (0.001243) (0.000214) (0.001448)
VaR 2.316767 2.323949 2.306485 2.316961 2.305801 2.319101
(0.000808) (0.010249) (0.000224) (0.006923) (0.000099) (0.011134)
Min 0.408790 0.410868 1.121195 1.125823 1.832037 1.842292
(0.000024) (0.001536) (0.000045) (0.003127) (0.000075) (0.008732)
Time(s) 0.3625 69.1293 0.3356 71.0958 0.4130 77.5882
Table 4 Optimization result of mean-CVaR model
0.2 0.5 0.8
FA GA FA GA FA GA
90% R 0.066749 0.065344 0.062768 0.063048 0.061851 0.062797
(0.000350) (0.001170) (0.000527) (0.001101) (0.000357) (0.001122)
VaR 1.261842 1.266802 1.264300 1.271168 1.265513 1.271991
(0.002450) (0.007161) (0.002154) (0.007936) (0.001885) (0.008481)
CVaR 1.741419 1.744306 1.732341 1.743400 1.731575 1.744242
(0.001856) (0.006993) (0.000766) (0.006034) (0.000371) (0.006704)
Min 0.294884 0.296586 0.834786 0.840176 1.372890 1.382834
(0.000123) (0.001202) (0.000226) (0.002971) (0.000272) (0.005384)
Time(s) 0.2738 52.9092 0.2783 69.8107 0.3808 88.2249
95% R 0.066650 0.066739 0.064403 0.065149 0.063472 0.064483
(0.001396) (0.001582) (0.000810) (0.001658) (0.000851) (0.001665)
VaR 1.649395 1.641372 1.640492 1.638306 1.638418 1.636095
(0.010810) (0.008415) (0.005276) (0.009283) (0.003658) (0.007757)
CVaR 2.216168 2.241684 2.209298 2.238690 2.208781 2.240528
(0.006517) (0.013483) (0.001861) (0.014006) (0.001029) (0.012429)
Min 0.389913 0.394946 1.072447 1.086771 1.754330 1.779526
(0.000285) (0.002491) (0.000781) (0.006658) (0.000820) (0.009853)
Time(s) 0.4908 78.0048 0.3732 69.8967 0.4128 76.7059
99% R 0.067031 0.073570 0.066030 0.071366 0.065521 0.070577
(0.001136) (0.004114) (0.001465) (0.003285) (0.001202) (0.003493)
VaR 2.854202 2.792147 2.854399 2.750150 2.858156 2.735569
(0.032062) (0.165679) (0.027122) (0.169864) (0.026427) (0.158309)
CVaR 3.254131 3.470345 3.252959 3.474628 3.252602 3.479634
(0.006441) (0.118384) (0.005487) (0.126989) (0.005181) (0.107496)
Min 0.597201 0.635213 1.593465 1.701631 2.588978 2.769591
(0.000844) (0.022584) (0.002393) (0.062810) (0.004049) (0.085808)
Time(s) 0.6685 89.9647 0.4638 90.4703 0.4402 94.8446

From the above tables we can find that, at different confidence level and different
risk aversion level, the optimal objective function value obtained by fireworks
algorithm is smaller than that obtained by genetic algorithm, no matter in mean-VaR
model or in mean-CVaR model. It means that fireworks algorithm has better
performance than the genetic algorithm. A smaller optimal objective function value
also exhibits a more efficient frontier. For example, given a confidence level of 99%
and a risk aversion level of 0.2 in the mean-VaR model, the mean return from
fireworks algorithm (0.068204) is higher than that from genetic algorithm (0.067402),
indicating a higher return, while the variance of return is lower, indicating a lower risk.
That is to say, to invest such a portfolio according to the optimal proportion of each
stock from fireworks algorithm can make a higher return with a lower risk.
Further, we can also find that fireworks algorithm can greatly improve the
optimization speed, which is roughly a hundred times faster than the genetic
algorithm. This is an amazing result, and we think it may be partly because we adopt
the genetic algorithm from the default Matlab toolbox. But we have tried the program
written by ourselves and the result still holds.
Finally, by comparing the standard deviation of 100 repetitive experiments, we
can further find that all the standard deviations of each output result from fireworks
algorithm are less than those from genetic algorithm. And it indicates that fireworks
algorithm has better stability than genetic algorithm when solving the portfolio
models.

5、Conclusions
This paper introduces the fireworks algorithm which is a novel intelligent
algorithm into the field of portfolio optimization. We use it to solve the mean-VaR
model and the mean-CVaR model, repeat each experiment 100 times, and then
compare the results with that from genetic algorithm. All the average results from
fireworks algorithm show its better optimization performance than that from genetic
algorithm. It indicates that, when solving the portfolio optimization problem,
fireworks algorithm has more advantages than genetic algorithm. More accurately,
fireworks algorithm can make a more optimal result with lower time-consumption and
the results are more stable when repeated, showing a higher accuracy, a faster speed
and a better reliability. And it also means that, it is feasible to apply fireworks
algorithm to the field of portfolio optimization, and as an emerging method, it is
worthy of further attention.
The results presented in this paper are preliminary and future efforts should be
devoted to extending the application of fireworks algorithm. Specifically, the
following detailed investigations are needed for further discussion: 1) to verify the
efficiency of some improved fireworks algorithms; 2) to verify its efficiency in more
general portfolio optimization problems; 3) to make a more comprehensive
comparison with other classical intelligent algorithms.

Acknowledgements
This research was supported by the Natural Science Foundation of Hainan
Province(20167242,20167250),the Colleges and Universities Scientific Research Proj
ects of the Education Department of Hainan Province(Hnky2016-7), and the Youth
Fund of Hainan University(qnjj1507).

Reference
[1] Tan Y, Zhu Y. Fireworks algorithm for optimization[M]. Advances in Swarm Intelligence,
Springer, 2010: 355-364.
[2] Pei Y, Zheng S, Tan Y, et al. An empirical study on influence of approximation approaches on
enhancing fireworks algorithm[Z]. IEEE International Conference on Systems, Man, and
Cybernetics (SMC), 2012: 1322-1327.
[3] Liu J, Zheng S, Tan Y. The improvement on controlling exploration and exploitation of firework
algorithm[M]. Advances in swarm intelligence, Springer, 2013: 11-23.
[4] Zheng S, Janecek A, Tan Y. Enhanced fireworks algorithm[Z]. IEEE Congress on Evolutionary
Computation (CEC), 2013: 2069-2077.
[5] Li J, Zheng S, Tan Y. Adaptive fireworks algorithm[Z]. IEEE Congress on Evolutionary
Computation (CEC), 2014: 3214-3221.
[6] Zheng S, Janecek A, Li J, et al. Dynamic search in fireworks algorithm[Z]. IEEE Congress on
Evolutionary Computation (CEC), 2014: 3222-3229.
[7] Yu C, Kelley L, Zheng S, et al. Fireworks algorithm with differential mutation for solving the cec
2014 competition problems[Z]. IEEE Congress on Evolutionary Computation (CEC), 2014:
3238-3245.
[8] Gao H, Diao M. Cultural firework algorithm and its application for digital filters design[J].
International Journal of Modelling, Identification and Control. 2011, 14(4): 324-331.
[9] Zhang B, Zhang M, Zheng Y. A hybrid biogeography-based optimization and fireworks
algorithm[Z]. IEEE Congress on Evolutionary Computation (CEC), 2014: 3200-3206.
[10] Janecek A, Tan Y. Swarm intelligence for non-negative matrix factorization[J]. Recent Algorithms
and Applications in Swarm Intelligence Research. 2012: 168.
[11] Zheng S, Tan Y. A unified distance measure scheme for orientation coding in identification[Z].
International Conference on Information Science and Technology (ICIST), 2013: 979-985.
[12] He W, Mi G, Tan Y. Parameter optimization of local-concentration model for spam detection by
using fireworks algorithm[M]. Advances in swarm intelligence, Springer, 2013: 439-450.
[13] Dai Z, Li D, Wen F. Worse-case conditional value-at-risk for asymmetrically distributed asset
scenarios returns[J]. Journal of Computational Analysis and Applications. 2016, 20(2): 237-251.
[14] Wen F, He Z, Dai Z, et al. Characteristics of investors’ risk preference for stock markets[J].
Economic Computation and Economic Cybernetics Studies and Research. 2014, 48(3): 235-254.
[15] Zhang W, Zhang T, Liu Z. Fireworks algorithm for Markowitz portfolio optimization[J]. Working
paper. 2016.
[16] Tan Ying. An Introduction to Fireworks Algorithm, Science Press, 2015(In Chinese).
[17] Rockafellar R T, Uryasev S. Optimization of conditional value-at-risk[J]. Journal of risk. 2000, 2:
21-42.
[18] Shoaf J S, Foster J A. A Genetic Algorithm Solution to the Efficient Set Problem: A Technique for
Portfolio Selection Based on the Markowitz Model: Proceedings of the Decision Science
Institute[Z]. Orlando: 1996.
[19] Chang T, Meade N, Beasley J E, et al. Heuristics for cardinality constrained portfolio
optimisation[J]. Computers & Operations Research. 2000, 27(13): 1271-1302.

You might also like