[ojAlgo-user] 答复: ojAlgo-user Digest, Vol 79, Issue 3
Mathematics, linear algebra and optimisation
Brought to you by:
apete
|
From: <lvz...@gt...> - 2017-05-11 00:46:55
|
Hi,
What is the definition of risk aversion factor?
Lvzifeng
oja...@li...
2017/05/10 20:05
请答复 给
oja...@li...
收件人
oja...@li...
抄送
主题
ojAlgo-user Digest, Vol 79, Issue 3
Send ojAlgo-user mailing list submissions to
oja...@li...
To subscribe or unsubscribe via the World Wide Web, visit
https://lists.sourceforge.net/lists/listinfo/ojalgo-user
or, via email, send a message with subject or body 'help' to
oja...@li...
You can reach the person managing the list at
oja...@li...
When replying, please edit your Subject line so it is more specific
than "Re: Contents of ojAlgo-user digest..."
Today's Topics:
1. ??: Report A Bug Of ojalgo finace library (yifa wang)
2. Re: ??: Report A Bug Of ojalgo finace library (Anders Peterson)
3. Re: Report A Bug Of ojalgo finace library (Anders Peterson)
----------------------------------------------------------------------
Message: 1
Date: Tue, 9 May 2017 15:15:36 +0000
From: yifa wang <fag...@ho...>
Subject: [ojAlgo-user] ??: Report A Bug Of ojalgo finace library
To: "oja...@li..."
<oja...@li...>
Message-ID:
<SG2...@SG...>
Content-Type: text/plain; charset="gb2312"
hi,
I try to use ojalgo to do a portfolio optimization. The target is find an
efficient frontier for 15 securities or more. I generate random returns
for simulation. However, when I run the program, I get the state as
"UNEXPLORED". Usually, we get OPTIMAL. What does this mean? Is it
possible to get the optimal weight for more than 50 securities?
Thanks.
Jerry
________________________________
???: lvz...@gt... <lvz...@gt...>
????: 2017?5?8? ?? 8:20:21
???: oja...@li...
??: [ojAlgo-user] Report A Bug Of ojalgo finace library
Hi,
I have a problem when calculate best invest group by using
markowitzModel in ojalgo with code below(for test);
for(int j = 0; j < 100; j ++)
{ Builder<PrimitiveMatrix> tmpBuilder =
PrimitiveMatrix.FACTORY.getBuilder(2, 2);
tmpBuilder.add(0, 0, 0.040000);
tmpBuilder.add(0, 1, 0.1000);
tmpBuilder.add(1, 0, 0.1000);
tmpBuilder.add(1, 1, 0.250000);
BasicMatrix covariances = tmpBuilder.build();
tmpBuilder = PrimitiveMatrix.FACTORY.getBuilder(2);
tmpBuilder.add(0, 0.20000);
tmpBuilder.add(1, 0.40000);
BasicMatrix expectedExcessReturns = tmpBuilder.build();
MarketEquilibrium equilibrium = new MarketEquilibrium(covariances);
MarkowitzModel markowitzModel = new MarkowitzModel(equilibrium,
expectedExcessReturns);
markowitzModel.setShortingAllowed(false);
// markowitzModel.optimiser().validate(true);
markowitzModel.setTargetReturn(new BigDecimal(0.2 + (0.002 * j)));
for (int i = 0; i < 2; i++) {
markowitzModel.setLowerLimit(i, new BigDecimal(0.00000));
markowitzModel.setUpperLimit(i, new BigDecimal(1.00000));
}
System.out.println(0.2 + (0.002 * j) + "," +
markowitzModel.getReturnVariance() + " , " +
markowitzModel.getMeanReturn() + "," + markowitzModel.getWeights());
}
when TargetReturn equal to 0.206,Variance equal to 0.04 , weights
equal to [1.0, 0.0]
when TargetReturn equal to 0.208, Variance equal to 0.25,weights
equal to [0.0, 1.0]
Below Relationship of TargetReturn And Target Variance?Y-Axis
TargetReturn,X-AXis standard deviation?
???
-------------- next part --------------
An HTML attachment was scrubbed...
------------------------------
Message: 2
Date: Tue, 9 May 2017 22:34:46 +0200
From: Anders Peterson <an...@op...>
Subject: Re: [ojAlgo-user] ??: Report A Bug Of ojalgo finace library
To: oja...@li...
Message-ID: <9FD...@op...>
Content-Type: text/plain; charset=utf-8
UNEXPLORED would mean the optimisation has not been executed (since you
last modified the model). How did you get that?
/Anders
> On 9 May 2017, at 17:15, yifa wang <fag...@ho...> wrote:
>
> hi,
>
> I try to use ojalgo to do a portfolio optimization. The target is find
an efficient frontier for 15 securities or more. I generate random returns
for simulation. However, when I run the program, I get the state as
"UNEXPLORED". Usually, we get OPTIMAL. What does this mean? Is it
possible to get the optimal weight for more than 50 securities?
>
> Thanks.
> Jerry
>
>
>
>
> ???: lvz...@gt... <lvz...@gt...>
> ????: 2017?5?8? ?? 8:20:21
> ???: oja...@li...
> ??: [ojAlgo-user] Report A Bug Of ojalgo finace library
>
>
> Hi,
> I have a problem when calculate best invest group by using
markowitzModel in ojalgo with code below(for test);
>
>
>
>
> for(int j = 0; j < 100; j ++)
> { Builder<PrimitiveMatrix> tmpBuilder =
PrimitiveMatrix.FACTORY.getBuilder(2, 2);
> tmpBuilder.add(0, 0, 0.040000);
> tmpBuilder.add(0, 1, 0.1000);
> tmpBuilder.add(1, 0, 0.1000);
> tmpBuilder.add(1, 1, 0.250000);
> BasicMatrix covariances = tmpBuilder.build();
> tmpBuilder = PrimitiveMatrix.FACTORY.getBuilder(2);
> tmpBuilder.add(0, 0.20000);
> tmpBuilder.add(1, 0.40000);
> BasicMatrix expectedExcessReturns = tmpBuilder.build();
>
> MarketEquilibrium equilibrium = new
MarketEquilibrium(covariances);
> MarkowitzModel markowitzModel = new MarkowitzModel(equilibrium,
expectedExcessReturns);
> markowitzModel.setShortingAllowed(false);
> // markowitzModel.optimiser().validate(true);
> markowitzModel.setTargetReturn(new BigDecimal(0.2 + (0.002 *
j)));
> for (int i = 0; i < 2; i++) {
> markowitzModel.setLowerLimit(i, new BigDecimal(0.00000));
> markowitzModel.setUpperLimit(i, new BigDecimal(1.00000));
> }
> System.out.println(0.2 + (0.002 * j) + "," +
markowitzModel.getReturnVariance() + " , " +
markowitzModel.getMeanReturn() + "," + markowitzModel.getWeights());
>
>
> }
>
>
> when TargetReturn equal to 0.206,Variance equal to 0.04 , weights
equal to [1.0, 0.0]
> when TargetReturn equal to 0.208, Variance equal to 0.25,weights
equal to [0.0, 1.0]
> Below Relationship of TargetReturn And Target Variance?Y-Axis
TargetReturn,X-AXis standard deviation?
>
>
>
> ???
>
>
------------------------------------------------------------------------------
> Check out the vibrant tech community on one of the world's most
> engaging tech sites, Slashdot.org!
http://sdm.link/slashdot_______________________________________________
> ojAlgo-user mailing list
> ojA...@li...
> https://lists.sourceforge.net/lists/listinfo/ojalgo-user
------------------------------
Message: 3
Date: Tue, 9 May 2017 23:32:47 +0200
From: Anders Peterson <an...@op...>
Subject: Re: [ojAlgo-user] Report A Bug Of ojalgo finace library
To: oja...@li...
Message-ID: <A20...@op...>
Content-Type: text/plain; charset=utf-8
Haven?t fully understood yet why that small/simple model is so
problematic. The covariance matrix is not positive definite, Strictly
speaking it needs to be, but most of the time semidefinite is ok.
Setting a target return or variance is not the best way to use ojAlgo?s
MarkowitzModel class. Work directly with the risk aversion factor instead.
If what you want to do is to calculate the efficient frontier then it?s
better to use the EfficientFrontier class rather than the MarkowitzModel
class.
/Anders
> On 8 May 2017, at 14:20, lvz...@gt... wrote:
>
>
> Hi,
> I have a problem when calculate best invest group by using
markowitzModel in ojalgo with code below(for test);
>
>
>
>
> for(int j = 0; j < 100; j ++)
> { Builder<PrimitiveMatrix> tmpBuilder =
PrimitiveMatrix.FACTORY.getBuilder(2, 2);
> tmpBuilder.add(0, 0, 0.040000);
> tmpBuilder.add(0, 1, 0.1000);
> tmpBuilder.add(1, 0, 0.1000);
> tmpBuilder.add(1, 1, 0.250000);
> BasicMatrix covariances = tmpBuilder.build();
> tmpBuilder = PrimitiveMatrix.FACTORY.getBuilder(2);
> tmpBuilder.add(0, 0.20000);
> tmpBuilder.add(1, 0.40000);
> BasicMatrix expectedExcessReturns = tmpBuilder.build();
>
> MarketEquilibrium equilibrium = new
MarketEquilibrium(covariances);
> MarkowitzModel markowitzModel = new MarkowitzModel(equilibrium,
expectedExcessReturns);
> markowitzModel.setShortingAllowed(false);
> // markowitzModel.optimiser().validate(true);
> markowitzModel.setTargetReturn(new BigDecimal(0.2 + (0.002 *
j)));
> for (int i = 0; i < 2; i++) {
> markowitzModel.setLowerLimit(i, new BigDecimal(0.00000));
> markowitzModel.setUpperLimit(i, new BigDecimal(1.00000));
> }
> System.out.println(0.2 + (0.002 * j) + "," +
markowitzModel.getReturnVariance() + " , " +
markowitzModel.getMeanReturn() + "," + markowitzModel.getWeights());
>
>
> }
>
>
> when TargetReturn equal to 0.206,Variance equal to 0.04 , weights
equal to [1.0, 0.0]
> when TargetReturn equal to 0.208, Variance equal to 0.25,weights
equal to [0.0, 1.0]
> Below Relationship of TargetReturn And Target Variance?Y-Axis
TargetReturn,X-AXis standard deviation?
>
>
>
> ???
>
>
<1.jpg>------------------------------------------------------------------------------
> Check out the vibrant tech community on one of the world's most
> engaging tech sites, Slashdot.org!
http://sdm.link/slashdot_______________________________________________
> ojAlgo-user mailing list
> ojA...@li...
> https://lists.sourceforge.net/lists/listinfo/ojalgo-user
------------------------------
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
------------------------------
_______________________________________________
ojAlgo-user mailing list
ojA...@li...
https://lists.sourceforge.net/lists/listinfo/ojalgo-user
End of ojAlgo-user Digest, Vol 79, Issue 3
******************************************
|