The DTREE Procedure

Example 5.2: Oil Wildcatter's Problem in Risk-Averse Setting

Continuing with the oil wildcatter's problem, suppose that in addition to possibly buying insurance to spread the risk of the venture, the wildcatter is considering sharing the risk by selling a portion of this venture to other investors. Now, the decision he faces is whether to buy insurance or not and what percentage of the investment to divest. Again, assume that the wildcatter is risk averse with a risk tolerance of $1,200,000. Notice that in the program that follows the 'Divestment' decision includes possibilities of no divestment to 100% divestment in 10% increments.

  
       /* -- create the STAGEIN= data set                 -- */ 
    data Dtoils4; 
       format _STNAME_ $12. _OUTCOM_ $15. _SUCCES_ $12.; 
       input _STNAME_ $ _STTYPE_ $ _OUTCOM_ $ 
             _SUCCES_ $ ; 
       datalines; 
    Divestment      Decision    No_Divestment      Insurance 
    .               .           10%_Divestment     Insurance 
    .               .           20%_Divestment     Insurance 
    .               .           30%_Divestment     Insurance 
    .               .           40%_Divestment     Insurance 
    .               .           50%_Divestment     Insurance 
    .               .           60%_Divestment     Insurance 
    .               .           70%_Divestment     Insurance 
    .               .           80%_Divestment     Insurance 
    .               .           90%_Divestment     Insurance 
    .               .           100%_Divestment    . 
    Insurance       Decision    Buy_Insurance      Cost 
    .               .           Do_Not_Buy         Cost 
    Cost            Chance      Low                Oil_Deposit 
    .               .           Fair               Oil_Deposit 
    .               .           High               Oil_Deposit 
    Oil_Deposit     Chance      Dry                . 
    .               .           Wet                . 
    .               .           Soaking            . 
    ;
 

The probabilities associated with the uncertain events are given in the PROBIN= data set named Dtoilp4. Except for the order of the variables in this data set, it is the same as the Dtoilp1 data set used in the section "Introductory Example".

  
       /* -- create the PROBIN= data set                 -- */ 
    data Dtoilp4; 
       input _EVENT1 $ _PROB1 _EVENT3 $ _PROB3 ; 
       datalines; 
    Low         0.2     Dry         0.5 
    Fair        0.6     Wet         0.3 
    High        0.2     Soaking     0.2 
    ; 
  
       /* -- create the PAYOFFS= data set                -- */ 
    data Dtoilu4(drop=i j k l); 
       length _STATE1-_STATE4 $16. ; 
       format _VALUE_ dollar12.0;
 

  
          /* define and initialize arrays */ 
    array DIVEST{11}  $16. _TEMPORARY_ ('No_Divestment', 
                                        '10%_Divestment', 
                                        '20%_Divestment', 
                                        '30%_Divestment', 
                                        '40%_Divestment', 
                                        '50%_Divestment', 
                                        '60%_Divestment', 
                                        '70%_Divestment', 
                                        '80%_Divestment', 
                                        '90%_Divestment', 
                                        '100%_Divestment'  ); 
       array INSUR{3} $16.    _TEMPORARY_ ('Do_Not_Buy', 
                                           'Buy_Insurance', 
                                           ' '              ); 
       array COST{4} $        _TEMPORARY_ ('Low', 
                                           'Fair', 
                                           'High', 
                                           ' '              ); 
       array DEPOSIT{4} $     _TEMPORARY_ ('Dry', 
                                           'Wet', 
                                           'Soaking', 
                                           ' '              ); 
  
       do i=1 to 10;            /* loop for each divestment */ 
          _STATE1=DIVEST{i}; 
  
             /* determine the percentage of ownership */ 
             /* retained for this scenario            */ 
          PCT=1.0-((i-1)*0.1); 
  
          do j=1 to 2;       /* loop for insurance decision */ 
             _STATE2=INSUR{j}; 
  
                /* determine the premium need to pay  */ 
                /* for this scenario                  */ 
             if _STATE2='Buy_Insurance' then PREMIUM=130000; 
             else                            PREMIUM=0; 
  
             do k=1 to 3;        /* loop for each well cost */ 
                _STATE3=COST{k}; 
  
                   /* determine the cost for this scenario  */ 
                if      _STATE3='Low' then  _COST_=150000; 
                else if _STATE3='Fair' then _COST_=300000; 
                else                        _COST_=500000;
 

  
                do l=1 to 3;  /* loop for each deposit type */ 
                   _STATE4=DEPOSIT{l}; 
  
                      /* determine the oil deposit and the  */ 
                      /* corresponding net payoff for this  */ 
                      /* scenario                           */ 
                   if      _STATE4='Dry' then _PAYOFF_=0; 
                   else if _STATE4='Wet' then _PAYOFF_=700000; 
                   else                       _PAYOFF_=1200000; 
  
                      /* determine redeem received for this */ 
                      /* scenario                           */ 
                   if _STATE2='Buy_Insurance' and _STATE4='Dry' then 
                        REDEEM=200000; 
                   else REDEEM=0; 
  
                      /* calculate the net return for this  */ 
                      /*scenario                            */ 
                   _VALUE_=(_PAYOFF_-_COST_-PREMIUM+REDEEM)*PCT; 
  
                      /* drop unneeded variables */ 
                   drop _COST_ _PAYOFF_ PREMIUM REDEEM PCT; 
  
                      /* output this record */ 
                   output; 
                end; 
             end; 
          end; 
       end; 
  
          /* output an observation for the scenario */ 
          /* 100%_Divestment                        */ 
       _STATE1=DIVEST{11}; 
       _STATE2=INSUR{3}; 
       _STATE3=COST{4}; 
       _STATE4=DEPOSIT{4}; 
       _VALUE_=0; 
       output; 
  
    run;
 

The Dtoilu4 data set for this problem, which contains 181 observations and 5 variables, is displayed in Output 5.2.1.

Output 5.2.1: Payoffs of the Oil Wildcatter's Problem with Risk Sharing

Oil Wildcatter's Problem
  
The Payoffs

Obs _STATE1 _STATE2 _STATE3 _STATE4 _VALUE_
1 No_Divestment Do_Not_Buy Low Dry $-150,000
2 No_Divestment Do_Not_Buy Low Wet $550,000
3 No_Divestment Do_Not_Buy Low Soaking $1,050,000
4 No_Divestment Do_Not_Buy Fair Dry $-300,000
5 No_Divestment Do_Not_Buy Fair Wet $400,000
6 No_Divestment Do_Not_Buy Fair Soaking $900,000
7 No_Divestment Do_Not_Buy High Dry $-500,000
8 No_Divestment Do_Not_Buy High Wet $200,000
9 No_Divestment Do_Not_Buy High Soaking $700,000
10 No_Divestment Buy_Insurance Low Dry $-80,000
11 No_Divestment Buy_Insurance Low Wet $420,000
12 No_Divestment Buy_Insurance Low Soaking $920,000
13 No_Divestment Buy_Insurance Fair Dry $-230,000
14 No_Divestment Buy_Insurance Fair Wet $270,000
15 No_Divestment Buy_Insurance Fair Soaking $770,000
16 No_Divestment Buy_Insurance High Dry $-430,000
17 No_Divestment Buy_Insurance High Wet $70,000
18 No_Divestment Buy_Insurance High Soaking $570,000
19 10%_Divestment Do_Not_Buy Low Dry $-135,000
20 10%_Divestment Do_Not_Buy Low Wet $495,000
21 10%_Divestment Do_Not_Buy Low Soaking $945,000
22 10%_Divestment Do_Not_Buy Fair Dry $-270,000
23 10%_Divestment Do_Not_Buy Fair Wet $360,000
24 10%_Divestment Do_Not_Buy Fair Soaking $810,000
25 10%_Divestment Do_Not_Buy High Dry $-450,000
26 10%_Divestment Do_Not_Buy High Wet $180,000
27 10%_Divestment Do_Not_Buy High Soaking $630,000
28 10%_Divestment Buy_Insurance Low Dry $-72,000
29 10%_Divestment Buy_Insurance Low Wet $378,000
30 10%_Divestment Buy_Insurance Low Soaking $828,000
31 10%_Divestment Buy_Insurance Fair Dry $-207,000
32 10%_Divestment Buy_Insurance Fair Wet $243,000
33 10%_Divestment Buy_Insurance Fair Soaking $693,000
34 10%_Divestment Buy_Insurance High Dry $-387,000
35 10%_Divestment Buy_Insurance High Wet $63,000
36 10%_Divestment Buy_Insurance High Soaking $513,000
37 20%_Divestment Do_Not_Buy Low Dry $-120,000
38 20%_Divestment Do_Not_Buy Low Wet $440,000
39 20%_Divestment Do_Not_Buy Low Soaking $840,000
40 20%_Divestment Do_Not_Buy Fair Dry $-240,000
41 20%_Divestment Do_Not_Buy Fair Wet $320,000
42 20%_Divestment Do_Not_Buy Fair Soaking $720,000
43 20%_Divestment Do_Not_Buy High Dry $-400,000
44 20%_Divestment Do_Not_Buy High Wet $160,000
45 20%_Divestment Do_Not_Buy High Soaking $560,000
46 20%_Divestment Buy_Insurance Low Dry $-64,000
47 20%_Divestment Buy_Insurance Low Wet $336,000
48 20%_Divestment Buy_Insurance Low Soaking $736,000
49 20%_Divestment Buy_Insurance Fair Dry $-184,000
50 20%_Divestment Buy_Insurance Fair Wet $216,000
51 20%_Divestment Buy_Insurance Fair Soaking $616,000
52 20%_Divestment Buy_Insurance High Dry $-344,000
53 20%_Divestment Buy_Insurance High Wet $56,000
54 20%_Divestment Buy_Insurance High Soaking $456,000
55 30%_Divestment Do_Not_Buy Low Dry $-105,000
56 30%_Divestment Do_Not_Buy Low Wet $385,000
57 30%_Divestment Do_Not_Buy Low Soaking $735,000
58 30%_Divestment Do_Not_Buy Fair Dry $-210,000
59 30%_Divestment Do_Not_Buy Fair Wet $280,000
60 30%_Divestment Do_Not_Buy Fair Soaking $630,000
61 30%_Divestment Do_Not_Buy High Dry $-350,000
62 30%_Divestment Do_Not_Buy High Wet $140,000
63 30%_Divestment Do_Not_Buy High Soaking $490,000
64 30%_Divestment Buy_Insurance Low Dry $-56,000
65 30%_Divestment Buy_Insurance Low Wet $294,000
66 30%_Divestment Buy_Insurance Low Soaking $644,000
67 30%_Divestment Buy_Insurance Fair Dry $-161,000
68 30%_Divestment Buy_Insurance Fair Wet $189,000
69 30%_Divestment Buy_Insurance Fair Soaking $539,000
70 30%_Divestment Buy_Insurance High Dry $-301,000
71 30%_Divestment Buy_Insurance High Wet $49,000
72 30%_Divestment Buy_Insurance High Soaking $399,000
73 40%_Divestment Do_Not_Buy Low Dry $-90,000
74 40%_Divestment Do_Not_Buy Low Wet $330,000
75 40%_Divestment Do_Not_Buy Low Soaking $630,000
76 40%_Divestment Do_Not_Buy Fair Dry $-180,000
77 40%_Divestment Do_Not_Buy Fair Wet $240,000
78 40%_Divestment Do_Not_Buy Fair Soaking $540,000
79 40%_Divestment Do_Not_Buy High Dry $-300,000
80 40%_Divestment Do_Not_Buy High Wet $120,000
81 40%_Divestment Do_Not_Buy High Soaking $420,000
82 40%_Divestment Buy_Insurance Low Dry $-48,000
83 40%_Divestment Buy_Insurance Low Wet $252,000
84 40%_Divestment Buy_Insurance Low Soaking $552,000
85 40%_Divestment Buy_Insurance Fair Dry $-138,000
86 40%_Divestment Buy_Insurance Fair Wet $162,000
87 40%_Divestment Buy_Insurance Fair Soaking $462,000
88 40%_Divestment Buy_Insurance High Dry $-258,000
89 40%_Divestment Buy_Insurance High Wet $42,000
90 40%_Divestment Buy_Insurance High Soaking $342,000
91 50%_Divestment Do_Not_Buy Low Dry $-75,000
92 50%_Divestment Do_Not_Buy Low Wet $275,000
93 50%_Divestment Do_Not_Buy Low Soaking $525,000
94 50%_Divestment Do_Not_Buy Fair Dry $-150,000
95 50%_Divestment Do_Not_Buy Fair Wet $200,000
96 50%_Divestment Do_Not_Buy Fair Soaking $450,000
97 50%_Divestment Do_Not_Buy High Dry $-250,000
98 50%_Divestment Do_Not_Buy High Wet $100,000
99 50%_Divestment Do_Not_Buy High Soaking $350,000
100 50%_Divestment Buy_Insurance Low Dry $-40,000
101 50%_Divestment Buy_Insurance Low Wet $210,000
102 50%_Divestment Buy_Insurance Low Soaking $460,000
103 50%_Divestment Buy_Insurance Fair Dry $-115,000
104 50%_Divestment Buy_Insurance Fair Wet $135,000
105 50%_Divestment Buy_Insurance Fair Soaking $385,000
106 50%_Divestment Buy_Insurance High Dry $-215,000
107 50%_Divestment Buy_Insurance High Wet $35,000
108 50%_Divestment Buy_Insurance High Soaking $285,000
109 60%_Divestment Do_Not_Buy Low Dry $-60,000
110 60%_Divestment Do_Not_Buy Low Wet $220,000
111 60%_Divestment Do_Not_Buy Low Soaking $420,000
112 60%_Divestment Do_Not_Buy Fair Dry $-120,000
113 60%_Divestment Do_Not_Buy Fair Wet $160,000
114 60%_Divestment Do_Not_Buy Fair Soaking $360,000
115 60%_Divestment Do_Not_Buy High Dry $-200,000
116 60%_Divestment Do_Not_Buy High Wet $80,000
117 60%_Divestment Do_Not_Buy High Soaking $280,000
118 60%_Divestment Buy_Insurance Low Dry $-32,000
119 60%_Divestment Buy_Insurance Low Wet $168,000
120 60%_Divestment Buy_Insurance Low Soaking $368,000
121 60%_Divestment Buy_Insurance Fair Dry $-92,000
122 60%_Divestment Buy_Insurance Fair Wet $108,000
123 60%_Divestment Buy_Insurance Fair Soaking $308,000
124 60%_Divestment Buy_Insurance High Dry $-172,000
125 60%_Divestment Buy_Insurance High Wet $28,000
126 60%_Divestment Buy_Insurance High Soaking $228,000
127 70%_Divestment Do_Not_Buy Low Dry $-45,000
128 70%_Divestment Do_Not_Buy Low Wet $165,000
129 70%_Divestment Do_Not_Buy Low Soaking $315,000
130 70%_Divestment Do_Not_Buy Fair Dry $-90,000
131 70%_Divestment Do_Not_Buy Fair Wet $120,000
132 70%_Divestment Do_Not_Buy Fair Soaking $270,000
133 70%_Divestment Do_Not_Buy High Dry $-150,000
134 70%_Divestment Do_Not_Buy High Wet $60,000
135 70%_Divestment Do_Not_Buy High Soaking $210,000
136 70%_Divestment Buy_Insurance Low Dry $-24,000
137 70%_Divestment Buy_Insurance Low Wet $126,000
138 70%_Divestment Buy_Insurance Low Soaking $276,000
139 70%_Divestment Buy_Insurance Fair Dry $-69,000
140 70%_Divestment Buy_Insurance Fair Wet $81,000
141 70%_Divestment Buy_Insurance Fair Soaking $231,000
142 70%_Divestment Buy_Insurance High Dry $-129,000
143 70%_Divestment Buy_Insurance High Wet $21,000
144 70%_Divestment Buy_Insurance High Soaking $171,000
145 80%_Divestment Do_Not_Buy Low Dry $-30,000
146 80%_Divestment Do_Not_Buy Low Wet $110,000
147 80%_Divestment Do_Not_Buy Low Soaking $210,000
148 80%_Divestment Do_Not_Buy Fair Dry $-60,000
149 80%_Divestment Do_Not_Buy Fair Wet $80,000
150 80%_Divestment Do_Not_Buy Fair Soaking $180,000
151 80%_Divestment Do_Not_Buy High Dry $-100,000
152 80%_Divestment Do_Not_Buy High Wet $40,000
153 80%_Divestment Do_Not_Buy High Soaking $140,000
154 80%_Divestment Buy_Insurance Low Dry $-16,000
155 80%_Divestment Buy_Insurance Low Wet $84,000
156 80%_Divestment Buy_Insurance Low Soaking $184,000
157 80%_Divestment Buy_Insurance Fair Dry $-46,000
158 80%_Divestment Buy_Insurance Fair Wet $54,000
159 80%_Divestment Buy_Insurance Fair Soaking $154,000
160 80%_Divestment Buy_Insurance High Dry $-86,000
161 80%_Divestment Buy_Insurance High Wet $14,000
162 80%_Divestment Buy_Insurance High Soaking $114,000
163 90%_Divestment Do_Not_Buy Low Dry $-15,000
164 90%_Divestment Do_Not_Buy Low Wet $55,000
165 90%_Divestment Do_Not_Buy Low Soaking $105,000
166 90%_Divestment Do_Not_Buy Fair Dry $-30,000
167 90%_Divestment Do_Not_Buy Fair Wet $40,000
168 90%_Divestment Do_Not_Buy Fair Soaking $90,000
169 90%_Divestment Do_Not_Buy High Dry $-50,000
170 90%_Divestment Do_Not_Buy High Wet $20,000
171 90%_Divestment Do_Not_Buy High Soaking $70,000
172 90%_Divestment Buy_Insurance Low Dry $-8,000
173 90%_Divestment Buy_Insurance Low Wet $42,000
174 90%_Divestment Buy_Insurance Low Soaking $92,000
175 90%_Divestment Buy_Insurance Fair Dry $-23,000
176 90%_Divestment Buy_Insurance Fair Wet $27,000
177 90%_Divestment Buy_Insurance Fair Soaking $77,000
178 90%_Divestment Buy_Insurance High Dry $-43,000
179 90%_Divestment Buy_Insurance High Wet $7,000
180 90%_Divestment Buy_Insurance High Soaking $57,000
181 100%_Divestment       $0



The optimal decisions for this problem can be identified by invoking PROC DTREE and using the SUMMARY statement as follows:

  
    title "Oil Wildcatter's Problem"; 
  
    proc dtree stagein=Dtoils4 
               probin=Dtoilp4 
               payoffs=Dtoilu4 
               criterion=maxce rt=1200000 
               nowarning; 
       evaluate; 
       summary / target=Divestment; 
       summary / target=Insurance; 
    quit;
 

The optimal decision summaries in Output 5.2.2 and Output 5.2.3 show the optimal strategy for the wildcatter.

Output 5.2.2: Summary of the Oil Wildcatter's Problem for DIVESTMENT
Oil Wildcatter's Problem

The DTREE Procedure
Optimal Decision Summary

Order of Stages
Stage Type
Divestment Decision
Insurance Decision
Cost Chance
Oil_Deposit Chance
_ENDST_ End

Decision Parameters
Decision Criterion: Maximize Certain Equivalent Value (MAXCE)
Risk Tolerance: $1,200,000
Optimal Decision Yields: $50,104

Optimal Decision Policy
Up to Stage Divestment
Alternatives or Outcomes Cumulative Reward Evaluating Value
No_Divestment   $45,728
10%_Divestment   $48,021
20%_Divestment   $49,907
30%_Divestment   $50,104*
40%_Divestment   $48,558
50%_Divestment   $45,219
60%_Divestment   $40,036
70%_Divestment   $32,965
80%_Divestment   $23,961
90%_Divestment   $12,985
100%_Divestment   $0



Output 5.2.3: Summary of the Oil Wildcatter's Problem for INSURANCE
Oil Wildcatter's Problem

The DTREE Procedure
Optimal Decision Summary

Order of Stages
Stage Type
Divestment Decision
Insurance Decision
Cost Chance
Oil_Deposit Chance
_ENDST_ End

Decision Parameters
Decision Criterion: Maximize Certain Equivalent Value (MAXCE)
Risk Tolerance: $1,200,000
Optimal Decision Yields: $50,104

Optimal Decision Policy
Up to Stage Insurance
Alternatives or Outcomes Cumulative Reward Evaluating Value
No_Divestment Buy_Insurance   $45,728*
No_Divestment Do_Not_Buy   $44,499
10%_Divestment Buy_Insurance   $46,552
10%_Divestment Do_Not_Buy   $48,021*
20%_Divestment Buy_Insurance   $46,257
20%_Divestment Do_Not_Buy   $49,907*
30%_Divestment Buy_Insurance   $44,812
30%_Divestment Do_Not_Buy   $50,104*
40%_Divestment Buy_Insurance   $42,186
40%_Divestment Do_Not_Buy   $48,558*
50%_Divestment Buy_Insurance   $38,350
50%_Divestment Do_Not_Buy   $45,219*
60%_Divestment Buy_Insurance   $33,273
60%_Divestment Do_Not_Buy   $40,036*
70%_Divestment Buy_Insurance   $26,927
70%_Divestment Do_Not_Buy   $32,965*
80%_Divestment Buy_Insurance   $19,284
80%_Divestment Do_Not_Buy   $23,961*
90%_Divestment Buy_Insurance   $10,317
90%_Divestment Do_Not_Buy   $12,985*



This information can be illustrated graphically using the GPLOT procedure. Output 5.2.4, produced by the PROC GPLOT statements shown in the following code, provides a clear picture of the effects of the divestment possibilities and the insurance options.

  
       /*  create a data set for the return corresponds to each */ 
       /*  divestment possibilities and the insurance options   */ 
    data Data2g; 
       input  INSURE DIVEST VALUE; 
       datalines; 
           1       0   45728 
           0       0   44499 
           1      10   46552 
           0      10   48021 
           1      20   46257 
           0      20   49907 
           1      30   44812 
           0      30   50104 
           1      40   42186 
           0      40   48558 
           1      50   38350 
           0      50   45219 
           1      60   33273 
           0      60   40036 
           1      70   26927 
           0      70   32965 
           1      80   19284 
           0      80   23961 
           1      90   10317 
           0      90   12985 
           1     100       0 
           0     100       0 
    ; 
  
       /* -- define a format for INSURE variable             -- */ 
    proc format; 
       value sample 0='Do_Not_Buy' 1='Buy_Insurance'; 
    run; 
  
       /* -- define title                                    -- */ 
    title h=3 "Oil Wildcatter's Problem"; 
  
     /* -- set graphics options                              -- */ 
    goptions lfactor=3; 
  
     /* define legend                                        -- */ 
    legend1 frame cframe=ligr label=none 
            cborder=black position=center ; 
  
       /* define symbol characteristics of the data points      */ 
       /* and the interpolation line for returns vs divestment  */ 
       /* when INSURE=0                                         */ 
    symbol1 c=cyan i=join v=dot l=1 h=1.5; 
  
       /* define symbol characteristics of the data points      */ 
       /* and the interpolation line for returns vs divestment  */ 
       /*  when INSURE=1                                        */ 
    symbol2 c=green i=join v=square l=2 h=1.5; 
  
       /* -- define axis characteristics                     -- */ 
    axis1 minor=none label=('Divestment (in percentage)'); 
    axis2 minor=none label=(angle=90 rotate=0 'Certainty Equivalent'); 
  
       /* plot VALUE vs DIVEST using INSURE as third variable   */ 
    proc gplot data=Data2g ; 
       plot VALUE*DIVEST=INSURE / haxis=axis1 
                                  vaxis=axis2 
                                  legend=legend1 
                                  name="dt2" 
                                  frame 
                                  cframe=ligr ; 
       format INSURE SAMPLE.; 
    run; 
  
    quit;
 

Note that the data input into the Data2g data set is obtained from the optimal decision summary as in Output 5.2.3. The value 1 of the INSURE variable represents the alternative 'Buy_Insurance' and the value represents the alternative 'Do_Not_Buy'.



Output 5.2.4: Returns of the Oil Wildcatter's Problem
dtre2d.gif (10166 bytes)

Previous Page | Next Page | Top of Page