DPL Modeling for Oil Drilling
DPL Modeling for Oil Drilling
When you first start DPL you get a four pane window: Project Manager, Session Log
windows on the left, and the two Model windows on the right. (Figure 1)
Figure 1
As for now, ignore the Project Manager and the Session Log windows. Maximize the
Model window so that your screen looks like in Figure 2. The upper pane is where you
build the Influence Diagram and the lower pane is for the Decision Tree. Only one pane
is active at each time.
Figure 2
                                           1
Policy Tree
You begin creating your DPL model by inputting data in the Influence Diagram Pane,
and then perfecting your model by adding and adjusting it in the Decision Tree Pane.
After your decision tree is completed, you can run your analysis (“Analysis/Decision
Analysis”) and DPL will create a graphical display of your model – a Policy Tree.
                      Expected Value
                       of this node           Objective Function Value
Probability
Get/Pay Value
Figure 3
We will now do a simple example, where there are no uncertainties and we will ignore
the time value of money. You may want to have your copy of DPL up and running on
your computer in order to be able to replicate the steps in the examples.
                                             2
Oil field – A
You own a lease to drill for oil. The oilfield will produce 500.000 barrels of oil per year
for two years, at a cost of $13 per barrel. Drilling costs are $2 million. The expected price
of oil over the next two years is constant at $18. Should you drill for oil?
We will now input this data and create our decision tree.
Figure 4
                                              3
Running the Analysis
   ♦  Click “Analysis / Decision Analysis” on the pull down menu
   ♦  The Decision Analysis Options menu pops up.
   ♦  Click OK. The Risk Profile is displayed. Close this window.
   ♦  The Policy Tree is displayed.
Figure 5
Oil field – B
Let’s suppose now that there is price uncertainty only in year 2. In year 2, the expected
price will be either $22, with a 0.30 probability, $18 with a 0.40 probability or $10.What
is your decision now?
To solve this, we must now insert a chance node and compute Year 1 and Year 2 cash
flows separately. We will make the following modifications to the previous model:
♦ Click anywhere inside the pane to make this the active pane
                                              4
   ♦   Click on “Node / Add Chance” in the pull down menu.
   ♦   Choose “Year2 Price”
   ♦   Attach this chance node to the upper branch of the “Drill Decision” node
   ♦   Separate the Year 1 and Year 2 production. Double-Click on the “Yes” branch of
       the “Drill Decision” node. The Get/Pay menu pops up.
   ♦   Change the formula there to: -2000+500*(18-13)
   ♦   Click OK
   ♦   Click on any branch of the “Year2_Price” node. The Get/Pay menu pops up.
   ♦   Input the Year 2 cash flow formula: 500*(Year2_Price – 13). You can use the
       Variable Icon button     in the Get/Pay menu to input the Year2 Price variable
       instead of typing it in.
Figure 6
                                     Year2_Price
   Drill_Decision    Yes                 [2400]
         [2400]                             500
                     No                      [0]
Figure 7
                                             5
You can double-click on the Year2_Price chance node to expand the branches. After
resizing, the Policy Tree will now look like Figure 8:
                                                       Low                 [-1000]
                                      Year2_Price      .300                  -1500
   Drill_Decision        Yes              [2400]       Nominal              [3000]
         [2400]                             500        .400                   2500
                                                       High                 [5000]
                                                       .300                   4500
                         No                     [0]
Figure 8
Note: To resize the contents of a window pane at any time, use the “ View / Zoom Full”
      command, or click on the corresponding icon.
Oil field – C
Let’s suppose now that there is price uncertainty in both years of production. Price in
year 1 will be $14, $18 or $22. Price level of year 2 will depend on year 1 prices. The
Year 1 prices will be increased by $4, remain at the same level, or decrease by $6.
Assume that all probabilities are 0.25, 0.50 and 0.25.
We must now insert a second chance node in our model. But first, go the “Tools /
Options / General” pull down menu and change the default probabilities to 0.25, 0.50 and
0.25. Click OK.
                                            6
   ♦   Click OK
                                            7
                                               Figure 9
After running the analysis, the policy tree is as shown in Figure 10:
                                                             Low       [-4000]
                                               Year2_Price   .250        -2500
                                     Low          [-1250]    Nominal   [-1000]
                                     .250            500     .500        500
                                                             High      [1000]
                                                             .250       2500
                                                             Low          [0]
                       Year1_Price             Year2_Price   .250        -500
Drill_Decision   Yes       [2750]    Nominal       [2750]    Nominal   [3000]
      [2750]               -2000     .500          2500      .500       2500
                                                             High      [5000]
                                                             .250       4500
                                                             Low       [4000]
                                               Year2_Price   .250       1500
                                     High          [6750]    Nominal   [7000]
                                     .250          4500      .500       4500
                                                             High      [9000]
                                                             .250       6500
                 No           [0]
Figure 10
                                                   8
Substituting a Get/Pay Expression for an Outcome node
We can also set up the model using a Value Node (Outcome node). This has the
advantage of not cluttering up your tree with large quantity of formulas by assigning
them to specific value nodes. In this example we will substitute both “Get/Pay”
expressions for nodes 1 and 2 for an Outcome, or Value node, which we will define in the
Influence Diagram Pane.
To do this we will create another model in this same file (we could also create a new
file).
1
    Note that DPL will run the model that was last set to “main”.
                                                    9
In the Decision Tree Pane:
    ♦   Click on any branch of the Year1_Price. This will bring up the Get/Pay menu.
    ♦   Delete the formula in the Get/Pay menu.
    ♦   Repeat this and delete the Get/Pay formula for the Year2_Price node also. These
        formulas are no longer necessary as they are already specified in the Outcome
        Node named “Profits”.
   ♦   Still in Year2_Price node, click on the Variable Icon button       in the Get/Pay
       menu and choose “Profits”.
   ♦   Click OK
Figure 11
After running the analysis, the policy tree will be identical to the one shown in Figure 8.
                                             10
Modeling a Lognormal Distribution with a binomial lattice
Rather than inputting all the expected future prices of an asset, we can assume that prices
will follow a certain distribution, and have the model compute what these values will be.
Let’s assume that a NBI Inc’s current stock price is $100, the volatility is 30% per year,
and that stock prices follow a lognormal distribution. We can model these prices with a
binomial lattice, where the up state has a value of u = eσ t and d = 1/u. The probability is
               ert − d
given by p =           . We will create a 5 year model (t=1), where r = 5%.
               u−d
                                             11
      ♦   Input the formula for p = [exp(r*t)-d]/(u-d)
      ♦   Click Enter and OK
Note that there is no need to enter the down probability, as the model assumes it is (1-p)
automatically. We must now create 5 chance nodes that are very similar. The easiest way
to do this is to make a copy of this node and then edit in the modifications. 2
      ♦   Click anywhere inside the pane to make this the active pane
      ♦   All 5 Chance Nodes are already in place.
      ♦   Click on any branch of the “Yr1” node. The Get/Pay menu pops up.
      ♦   Delete the formula there and leave it blank
      ♦   Click OK
      ♦   Repeat for all chance nodes of the tree except for the last one (Yr5).
2
    Unfortunately this does not work with Student Version 4.0, only with the Full Version
                                                  12
At this point, your screen should look like Figure 12:
Figure 12
Figure 13
                                                                      13
This tree gives us the distribution of NBI’s stock five years out. This distribution is
lognormal. We can use this model to calculate the price of options written on this stock.
Suppose we want to value a European Call Option on NBI’s stock, with strike price of
180 and 5 years to expiration.
3
    If exercised in year 5, the payoff of the option will be the Year 5 Price less the Strike Price. This
    value must be discounted 5 periods at the riskfree rate to arrive at it’s Present Value. If not
    exercised, the payoff is zero, which is the automatic assumption of DPL trees whenever no
    value or formula is provided in the branch.
                                                     14
   ♦   Click on any branch of the “Yr5” node. This will bring up the Get/Pay menu.
   ♦   Delete the formula “Yr5” that is there. Click OK
At this point, your model will look like this (Figure 14):
Figure 14
We will now value an American Call Option on the NBI stock, with strike price of 180
and 5 years to expiration.
We will begin by making a copy of the previous file (European Call) which we will
modify for our purposes, basically by inserting a Decision Node to exercise or not at each
of the 5 time periods. Rename this file “American Call”.
                                             15
   ♦   Rename the Decision Node “Exercise?” to “ Exercise5?”
   ♦   Make four copies of this node (Edit/Copy/Paste)
   ♦   Rename each of these new Decision Nodes “Exercise1”, Exercise2”, “Exercise3”
       and “Exercise4?”
   ♦   Click anywhere inside the pane to make this the active pane
   ♦   Right Click on the “Yr2” node and choose “Detach”. This will separate this node
       from the rest of the tree.
   ♦   Click on “Node / Add Decision” in the pull down menu.
   ♦   Choose “Exercise1”
   ♦   Attach this decision node to the “Yr1” chance node
   ♦   Click on the “Exercise1” node. This will bring up the Instance Menu
   ♦   Choose “Asymmetric”
   ♦   Click on the “Yes” branch of the “Exercise1?” node. This will bring up the
       Get/Pay Menu.
   ♦   Input the formula “(Yr1-X)/exp(0.05*1)”. Click OK.
   ♦   Drag the “Yr2” node and attach it to the lower (“No”) branch.
   ♦   Right Click on the “Yr3” node and choose “Detach”. This will separate this node
       from the rest of the tree.
   ♦   Click on “Node / Add Decision” in the pull down menu.
   ♦   Choose “Exercise2”
   ♦   Attach this decision node to the “Yr2” chance node
   ♦   Click on the “Exercise2” node. This will bring up the Instance Menu
   ♦   Choose “Asymmetric”
   ♦   Click on the “Yes” branch of the “Exercise2?” node. This will bring up the
       Get/Pay Menu.
   ♦   Input the formula “(Yr2-X)/exp(0.05*2)”. Click OK.
   ♦   Drag the “Yr3” node and attach it to the lower (“No”) branch.
Repeat this procedure for the last two Decision Nodes. (“Exercise3” and “Exercise4”)
At this point, your model should look somewhat like in Figure 15:
                                           16
  Yr1       Exercise1      Yr2              Exercise2
                Yes                               Yr3
                 (Yr1-X)/exp(0.05*1)
    Up                                 Yes                        Exercise3        Yr4
                                       (Yr2-X)/exp(0.05*2)
    Down                  Up                                                              Exercise4       Yr5
                                                             Yes
                No
                                                             (Yr3 - X)/exp(0.05*3)
                          Down                   Up
                                                                                         Yes
                                       No                                                                       Exercise5
                                                 Down                                    (Yr4-X)/exp(0.05*4)
                                                                              Up
                                                             No                                                  Yes
                                                                              Down
                                                                                                         Up      (Yr5-X)/exp(0.05*5)
                                                                                         No
                                                                                                         Down
                                                                                                                 No
Figure 15
The policy tree will give the result of 15.6892. Note that this is the same result as with
the European Option. This was expected, because we know that it is never optimal to
exercise American Options early.
In the Spreadsheet:
    ♦   Start by setting up your spreadsheet model.
    ♦   Only named cells will be linked – you must name all input and output cells.
    ♦   Spreadsheet must be set up to define one scenario only – DPL is the one that will
        be doing the sensitivity analysis.
    ♦   Note that the spreadsheet will function basically as a subroutine of your DPL
        model, or a black box – DPL will send data to the spreadsheet (export link to a
        cell with a constant) and get back the result of a calculation (import link to a cell
        with a formula).
Let’s start by building a deterministic model from a spreadsheet. For this we will use the
spreadsheet file ChinaOil.xls.
    ♦   Open a new blank DPL model window
                                                                  17
  ♦   Click on “Tools / Create Model from Excel”.
  ♦   Choose the “ChinaOil.xls” spreadsheet.
  ♦   Click OK. The Influence Diagram of the model appears.
  ♦   Click on “Format / Arrange Diagram / Left-to-Right” to rearrange the model on
      the screen. (Figure 16)
  ♦   Run the model by clicking on “Analysis / Decision Analysis” pull down menu.
  ♦   DPL will ask which variable to calculate. Use the Variable Icon button      to
      choose “NPV”. (Since this is a deterministic model with no decision to make,
      there is no decision tree.)
  ♦   In the Risk Profile graph we can see that the expected value is 88 (on the
      horizontal scale), the same as the spreadsheet. This means that there is 0%
      probability that the NPV will be less than 88, and 100% probability that the NPV
      will be greater or equal 88.
ProdRate Reserves
DeclineRate
OperatingCost
NPV
                                    FixedCost
                                                       OilPrice
DevelCost PSCShare
Figure 16
Adding Uncertainty
                                                       18
   ♦   The three uncertain outcomes (Low, Nominal, High) have the same original value
       of $15. We will now change that to $10, $15 and $25 respectively, to cover the
       range of possible oil prices for the problem, while maintaining the default
       probabilities for now.
   ♦   Let’s assume that there is also uncertainty over the level of the reserves. Although
       the reserves are estimated to be 90MM Bbl it could be as low as 50 or as high as
       200M.
   ♦   Right click on the Reserves node. Click on “Change Node Type” and choose
       “Chance” to change this node into a Chance node.
   ♦   When the Node Definition window appears, click OK. You will see that the shape
       of this node in the Influence Diagram pane has changed to a circle.
   ♦   Double click on the Reserves node again. The Data window will appear.
   ♦   The three uncertain outcomes (Low, Nominal, High) still have the same original
       value of 90. We will now change that to 50, 90 and $200 respectively and click
       OK.
The influence diagram for the model should look somewhat like Figure 17. Notice the
change in shape (and color) of the two nodes we modified from Value to Chance Nodes.
ProdRate Reserves
DeclineRate
OperatingCost
NPV
                                       FixedCost
                                                           OilPrice
DevelCost PSCShare
Figure 17
                                                           19
                                                    Low         [-63.029]
                                         Reserves   .300          -63.029
                             Low       [-31.608]    Nominal   [-42.9486]
                             .300                   .400        -42.9486
                                                    High       [14.9338]
                                                    .300         14.9338
                                                    Low        [15.1398]
                  OilPrice               Reserves   .300         15.1398
               [175.835]     Nominal   [127.906]    Nominal    [87.9444]
                             .400                   .400         87.9444
                                                    High       [293.954]
                                                    .300         293.954
                                                    Low        [174.977]
                                         Reserves   .300         174.977
                             High      [447.183]    Nominal    [350.058]
                             .300                   .400         350.058
                                                    High       [848.888]
                                                    .300         848.888
Figure 18
                                              20
       OperatingCost
ProdRate
DevelCost
PSCShare
Figure 19
Using Utilities
DPL allows for a very simple means of using a utility function to model risk attitudes.
The Strenlar case is a good example of how the risk attitude as modeled by an utility
function can influence the decision making process.
   ♦     Open the Strenlar1.da file and run the analysis. We get the Policy Tree shown in
         Figure 20 that indicates that the optimal alternative for Mr. X is the riskier of
         developing the product on his own.
                                                                     Lawsuit
                                           Develop                  [3632]
                                                                      -200
                       Strenlar_Decision                        Technology
                                [3632]     Salary               [2017.95]
                                                                Technology
                                           Cash_Offer           [1004.88]
Figure 20
   ♦     Now suppose Mr. X is risk averse. A good model for this behavior is an
         exponential utility function, which can be totally defined by Mr. X risk tolerance,
         which we will assume to be 500.
   ♦     On the pull down menu, go to “Model/Risk Tolerance” and enter the value of 500.
   ♦     Run the analysis again. We now get a Policy Tree (Figure 21) that clearly
         indicates that given that Mr. X is somewhat risk averse, the optimal course of
         action in this case is to go with the less risky alternative of accepting a salary in
         the firm plus royalties.
                                                  21
                                                               Lawsuit
                                         Develop            [111.508]
                                                                 -200
                Strenlar_Decision                           Technology
                       [1113.54]         Salary             [1113.54]
                                                            Technology
                                         Cash_Offer         [926.162]
Figure 21
   ♦    Now suppose Mr. X risk tolerance is lower, maybe 200. On the pull down menu,
        go to “Model/Risk Tolerance” and enter the value of 200 and run the analysis
        again.
   ♦    The new Policy Tree (Figure 22) show that such a low risk tolerance (indicating a
        very risk averse attitude) Mr. X should go for the alternative with the lowest risk
        of all, mainly the upfront cash offer.
                                                                 Lawsuit
                                         Develop            [-84.7736]
                                                                   -200
               Strenlar_Decision                            Technology
                      [790.407]         Salary              [659.817]
                                                            Technology
                                        Cash_Offer          [790.407]
Figure 22
Note: Values inserted in the Node Data are not automatically added to the tree. They
must be specifically invoked from formulas or a “Get/Pay” expression. Values inserted as
“Get/Pay” are automatically included into the tree calculations.
Linking to spreadsheet
  ♦    Suppose you linked your DPL model to a spreadsheet and now you want to add an
       additional node link. If you just re-link it will delete your whole DPL file
  ♦    What you want to do is:
  ♦    Tools/Add linked nodes/From Excel
                                             22
♦   When the window appears, click on the Browse button to re-choose the Excel file to
    link
♦   Click “Select”
♦   A new window now appears showing any Excel name that has not yet been linked
♦   Choose the one you want and close all
23