watson-developer-cloud / investment-advisor

DEPRECATED: this repo is no longer actively maintained
Apache License 2.0
66 stars 78 forks source link

Funds Personality Data #4

Closed ghost closed 7 years ago

ghost commented 7 years ago

In this Investment Advisor Demo (https://github.com/watson-developer-cloud/investment-advisor), the fund's personality data is provided in the _fundspersonality.json file.

For example:

{
"traits": {
"Vulnerability": 0.49570000000000003,
"Stability": 0.9956999999999999,
"Ideal": 0.49570000000000003,
"Conservation": 0.49570000000000003,
"Cautiousness": 0.9956999999999999,
"Orderliness": 0.49570000000000003,
"Structure": 0.5043
},
"message": "Since you appear to be a cautious person, I'd recomment this utilities fund.",
"strategy": "This person appears to be very cautious so they like to know the details of a product so they can better predict the outcome. They are slow to trust but once they do they stay loyal so invest the time to make them comfortable. They will be skeptical of something that sounds too good so give a balanced pictures of the rewards and risks. If relevant, mention how the product helps the community.",
"id": 0,
"label": "Select Utilities Portfolio"
}

How are the values for Vulnerability, Stability, Ideal etc being calculated for each fund?

Thanks,

Hardeep

germanattanasio commented 7 years ago

Those values are coming from the Personality Insights output. Probably a direct match to some of the BIG 5 values.

ghost commented 7 years ago

Could you elaborate, how are the values for the Funds coming from the Personality Insights output? Maybe provide an example for the fund mentioned above with id=0 "Select Utilities Portfolio". (There are 110 funds in that list, with the last one being id=109 "Select Energy Service Portfolio".)

vibhasinghal commented 7 years ago

@Hardeep-Mehta - give me a day or two, I'll write up the approach we used to come up with these values. Currently at a conferences.

josepmao commented 7 years ago

@vibhasinghal any updates here? I checked PI API output, the funds does not match. are they used in this app, and directly mapping to PI output, if so, please provide the mapping, if it is in-directly, please also provide logic of mapping, thanks

ghost commented 7 years ago

@vibhasinghal - Could you please let me know, when can I expect your response?

Thanks.

vibhasinghal commented 7 years ago

I'll do so by Sunday. Sorry, has been a crazy week.

vibhasinghal commented 7 years ago

@Hardeep-Mehta: for this demo we had to come up with personality for each fund. We used the following method -

Based on various papers on risk, we hypothesized that a person who is risk-adverse (low risk) has high Cautiousness, Structure and Stability, and average Orderliness, Vulnerability and Conservation, while a person who can tolerate high risk has low Orderliness, Vulnerability and Conservation, and average Stability and high Structure.

Based on this hypothesis, we quantified a risk personality profile for each fund. This was done as follows -

  1. Take the 110 financial products that had a given Risk value from 0.31 to 1.75 (a score provided by an investment company), sort the products by risk (lowest to highest).
  2. Assign the first (lowest risk) product the following values; Cautiousness=1 Orderliness=0.5 Vulnerability=0.5 Ideal=0.5 Stability=1 Structure=.5 Conservation=.5
  3. Assign the last (highest risk) product the following values; Cautiousness=0.5 Orderliness=0.0 Vulnerability=0.0 Ideal=0.0 Stability=.50 Structure=1.0 Conservation=0.0
  4. Linearly interpolate the values for all products in between these two extreme risk cases.
  5. Run the results through a collection of personalities, observe the predictions, and adjust (tweek) the value to improve the predictions.
ghost commented 7 years ago

@vibhasinghal, thank you for the information.