How to save portfolio objects to an array?

1 Ansicht (letzte 30 Tage)
Nirmal Hirani
Nirmal Hirani am 7 Okt. 2022
p = Portfolio;
c = Portfolio;
d = [p c]
d =
1×2 Portfolio array with properties: BuyCost SellCost RiskFreeRate AssetMean AssetCovar TrackingError TrackingPort Turnover BuyTurnover SellTurnover Name NumAssets AssetList InitPort AInequality bInequality AEquality bEquality LowerBound UpperBound LowerBudget UpperBudget GroupMatrix LowerGroup UpperGroup GroupA GroupB LowerRatio UpperRatio MinNumAssets MaxNumAssets BoundType
How do i store objects in an array and then extract any specific object from that array? I want to do this.
d.p.BuyCost
Thanks.
  1 Kommentar
dpb
dpb am 8 Okt. 2022
Indexing; don't compound-nest similar structs; that will become totally unworkable.
d(2).BuyCost
You can create an associated name array to use as id if want a way to find specific element of the array or add that ID as a field.

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Sailesh Kalyanapu
Sailesh Kalyanapu am 10 Okt. 2022
As per my understanding, you are looking to store objects of type ‘Portfolio’ in a way to later access them using dot indexing.
You can do so by saving the objects in a struct.
>> d = struct
>> obj1 = Portfolio;
>> obj2 = Portfolio;
>> d.p = obj1;
>> d.c = obj2;
% To access required PropertyName
>> d.p.PropertyName (or) d.c.PropertName
For more information related to ‘struct’, please refer to the following MATLAB documentation:
In case you want to store the objects in an array, you could then use numeric(array) indexing to first select the object of choice and then use dot indexing to access the required Property.
>> p = Portfolio;
>> c = Portfolio;
>> d = [p c];
% To access required PropertyName of ith object in array.
>> d(i).PropertyName

Weitere Antworten (0)

Kategorien

Mehr zu Portfolio Optimization and Asset Allocation finden Sie in Help Center und File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by