class_docstr: Interface for specifying Ito processes.
  
    Interface for defining stochastic process defined by the Ito SDE:
  
    ```None
      dX_i = a_i(t, X) dt + Sum(S_{ij}(t, X) dW_j for 1 <= j <= n), 1 <= i <= n
    ```
  
  The vector coefficient `a_i` is referred to as the drift of the process and
  the matrix `S_{ij}` as the volatility of the process. For the process to be
  well defined, these coefficients need to satisfy certain technical conditions
  which may be found in Ref. [1]. The vector `dW_j` represents independent
  Brownian increments.
  
  For a simple and instructive example of the implementation of this interface,
  see `models.GenericItoProcess`.
  
  #### References
  [1]: Brent Oksendal. Stochastic Differential Equations: An Introduction with
    Applications. Springer. 2010.
class_docstr_tok: ["Interface","for","specifying","Ito","processes",".","Interface","for","defining","stochastic","process","defined","by","the","Ito","SDE",":","``","`","None","dX_i","=","a_i","(","t",",","X",")","dt","+","Sum","(","S_","{","ij","}","(","t",",","X",")","dW_j","for","1","<","=","j","<","=","n",")",",","1","<","=","i","<","=","n","``","`","The","vector","coefficient","`","a_i","`","is","referred","to","as","the","drift","of","the","process","and","the","matrix","`","S_","{","ij","}","`","as","the","volatility","of","the","process",".","For","the","process","to","be","well","defined",",","these","coefficients","need","to","satisfy","certain","technical","conditions","which","may","be","found","in","Ref",".","[","1","]",".","The","vector","`","dW_j","`","represents","independent","Brownian","increments",".","For","a","simple","and","instructive","example","of","the","implementation","of","this","interface",",","see","`","models.GenericItoProcess","`",".","#","#","#","#","References","[","1","]",":","Brent","Oksendal",".","Stochastic","Differential","Equations",":","An","Introduction","with","Applications",".","Springer",".","2010","."]
docstr: Python callable calculating instantaneous drift.
  
  The callable should accept two real `Tensor` arguments of the same dtype.
  The first argument is the scalar time t, the second argument is the value of
  Ito process X - `Tensor` of shape `batch_shape + [dim]`. Here `batch_shape`
  is an arbitrary shape. The result is the  value of drift a(t, X). The return
  value of the callable is a real `Tensor` of the same dtype as the input
  arguments and of shape `batch_shape + [dim]`.
  
  Returns:
    The instantaneous drift rate callable.
docstr_tok: ["Python","callable","calculating","instantaneous","drift",".","The","callable","should","accept","two","real","`","Tensor","`","arguments","of","the","same","dtype",".","The","first","argument","is","the","scalar","time","t",",","the","second","argument","is","the","value","of","Ito","process","X","-","`","Tensor","`","of","shape","`","batch_shape","+","[","dim","]","`",".","Here","`","batch_shape","`","is","an","arbitrary","shape",".","The","result","is","the","value","of","drift","a","(","t",",","X",")",".","The","return","value","of","the","callable","is","a","real","`","Tensor","`","of","the","same","dtype","as","the","input","arguments","and","of","shape","`","batch_shape","+","[","dim","]","`",".","Returns",":","The","instantaneous","drift","rate","callable","."]
code: def drift_fn(self):
      """Python callable calculating instantaneous drift.
  
      The callable should accept two real `Tensor` arguments of the same dtype.
      The first argument is the scalar time t, the second argument is the value of
      Ito process X - `Tensor` of shape `batch_shape + [dim]`. Here `batch_shape`
      is an arbitrary shape. The result is the  value of drift a(t, X). The return
      value of the callable is a real `Tensor` of the same dtype as the input
      arguments and of shape `batch_shape + [dim]`.
  
      Returns:
        The instantaneous drift rate callable.
      """
      pass
  
file_path: tf-quant-finance/tf_quant_finance/models/ito_process.py
imports: import abc
  import six
label_desc: Use image node_id 4 for calling the ItoProcess obj's underlying member method code with example usage: obj.drift_fn() without return types