PLearn 0.1
Public Member Functions | Static Public Member Functions | Static Public Attributes | Static Protected Member Functions | Protected Attributes | Private Types
PLearn::PricingTransactionPairProfitFunction Class Reference

#include <PricingTransactionPairProfitFunction.h>

Inheritance diagram for PLearn::PricingTransactionPairProfitFunction:
Inheritance graph
[legend]
Collaboration diagram for PLearn::PricingTransactionPairProfitFunction:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 PricingTransactionPairProfitFunction ()
 PricingTransactionPairProfitFunction (real the_multiplicative_cost, real the_additive_cost=0, real the_per_unit_cost=0)
virtual string classname () const
virtual OptionListgetOptionList () const
virtual OptionMapgetOptionMap () const
virtual RemoteMethodMapgetRemoteMethodMap () const
virtual
PricingTransactionPairProfitFunction
deepCopy (CopiesMap &copies) const
virtual string info () const
 Returns a bit more informative string about object (default returns classname())
virtual real evaluate (const Vec &output, const Vec &target) const
 ** Subclasses must override this method **

Static Public Member Functions

static string _classname_ ()
static OptionList_getOptionList_ ()
static RemoteMethodMap_getRemoteMethodMap_ ()
static Object_new_instance_for_typemap_ ()
static bool _isa_ (const Object *o)
static void _static_initialize_ ()
static const PPathdeclaringFile ()

Static Public Attributes

static StaticInitializer _static_initializer_

Static Protected Member Functions

static void declareOptions (OptionList &ol)
 Recognized options: all 3 fields.

Protected Attributes

real multiplicative_cost
 transaction loss
real additive_cost
 transaction loss
real per_unit_cost
 transaction loss

Private Types

typedef Kernel inherited

Detailed Description

profit function that takes (output,target) as arguments and computes a profit. The output has at least 2 elements which represent the number of units of the security bought (or sold, if <0), and the cash change due to the transaction at time t1. The target vector contains at least one element which represents the price of the security at a later time t2. Profit is computed as follows: transaction_loss_t2 = nb_units_transaction>0 ? additive_cost + multiplicative_cost * |nb_units_transaction| * price_t2 : 0 profit = cash_earned_at_t1 + nb_units_transaction * price_t2 - transaction_loss_t2;

where additive_cost, multiplicative_cost, per_unit_cost are user-specified parameters that control transaction losses

Definition at line 67 of file PricingTransactionPairProfitFunction.h.


Member Typedef Documentation

Reimplemented from PLearn::Kernel.

Definition at line 69 of file PricingTransactionPairProfitFunction.h.


Constructor & Destructor Documentation

PLearn::PricingTransactionPairProfitFunction::PricingTransactionPairProfitFunction ( ) [inline]

Definition at line 76 of file PricingTransactionPairProfitFunction.h.

{}
PLearn::PricingTransactionPairProfitFunction::PricingTransactionPairProfitFunction ( real  the_multiplicative_cost,
real  the_additive_cost = 0,
real  the_per_unit_cost = 0 
) [inline]

Definition at line 77 of file PricingTransactionPairProfitFunction.h.

                                                                   :
        multiplicative_cost(the_multiplicative_cost), additive_cost(the_additive_cost),
        per_unit_cost(the_per_unit_cost) {}

Member Function Documentation

string PLearn::PricingTransactionPairProfitFunction::_classname_ ( ) [static]

Reimplemented from PLearn::Kernel.

Definition at line 48 of file PricingTransactionPairProfitFunction.cc.

OptionList & PLearn::PricingTransactionPairProfitFunction::_getOptionList_ ( ) [static]

Reimplemented from PLearn::Kernel.

Definition at line 48 of file PricingTransactionPairProfitFunction.cc.

RemoteMethodMap & PLearn::PricingTransactionPairProfitFunction::_getRemoteMethodMap_ ( ) [static]

Reimplemented from PLearn::Kernel.

Definition at line 48 of file PricingTransactionPairProfitFunction.cc.

bool PLearn::PricingTransactionPairProfitFunction::_isa_ ( const Object o) [static]

Reimplemented from PLearn::Kernel.

Definition at line 48 of file PricingTransactionPairProfitFunction.cc.

Object * PLearn::PricingTransactionPairProfitFunction::_new_instance_for_typemap_ ( ) [static]

Reimplemented from PLearn::Object.

Definition at line 48 of file PricingTransactionPairProfitFunction.cc.

StaticInitializer PricingTransactionPairProfitFunction::_static_initializer_ & PLearn::PricingTransactionPairProfitFunction::_static_initialize_ ( ) [static]

Reimplemented from PLearn::Kernel.

Definition at line 48 of file PricingTransactionPairProfitFunction.cc.

string PLearn::PricingTransactionPairProfitFunction::classname ( ) const [virtual]

Reimplemented from PLearn::Object.

Definition at line 48 of file PricingTransactionPairProfitFunction.cc.

void PLearn::PricingTransactionPairProfitFunction::declareOptions ( OptionList ol) [static, protected]

Recognized options: all 3 fields.

Reimplemented from PLearn::Kernel.

Definition at line 63 of file PricingTransactionPairProfitFunction.cc.

References additive_cost, PLearn::OptionBase::buildoption, PLearn::declareOption(), multiplicative_cost, and per_unit_cost.

Here is the call graph for this function:

static const PPath& PLearn::PricingTransactionPairProfitFunction::declaringFile ( ) [inline, static]

Reimplemented from PLearn::Kernel.

Definition at line 83 of file PricingTransactionPairProfitFunction.h.

{ return "pricing_pair_profit"; }
PricingTransactionPairProfitFunction * PLearn::PricingTransactionPairProfitFunction::deepCopy ( CopiesMap copies) const [virtual]

Reimplemented from PLearn::Kernel.

Definition at line 48 of file PricingTransactionPairProfitFunction.cc.

real PLearn::PricingTransactionPairProfitFunction::evaluate ( const Vec x1,
const Vec x2 
) const [virtual]

** Subclasses must override this method **

returns K(x1,x2)

Implements PLearn::Kernel.

Definition at line 51 of file PricingTransactionPairProfitFunction.cc.

{
    real nb_units_transaction = output[0];
    real cash_earned_at_t1 = output[1];
    real price_t2 = target[0];
    real transaction_loss_t2 = nb_units_transaction>0 ? additive_cost + 
        fabs(nb_units_transaction) * (price_t2 * multiplicative_cost + per_unit_cost) : 0;
    real profit = cash_earned_at_t1 + nb_units_transaction * price_t2 - transaction_loss_t2;
    return profit;
}
OptionList & PLearn::PricingTransactionPairProfitFunction::getOptionList ( ) const [virtual]

Reimplemented from PLearn::Object.

Definition at line 48 of file PricingTransactionPairProfitFunction.cc.

OptionMap & PLearn::PricingTransactionPairProfitFunction::getOptionMap ( ) const [virtual]

Reimplemented from PLearn::Object.

Definition at line 48 of file PricingTransactionPairProfitFunction.cc.

RemoteMethodMap & PLearn::PricingTransactionPairProfitFunction::getRemoteMethodMap ( ) const [virtual]

Reimplemented from PLearn::Object.

Definition at line 48 of file PricingTransactionPairProfitFunction.cc.

virtual string PLearn::PricingTransactionPairProfitFunction::info ( ) const [inline, virtual]

Returns a bit more informative string about object (default returns classname())

Returns:
Information about the object

Reimplemented from PLearn::Object.

Definition at line 85 of file PricingTransactionPairProfitFunction.h.

    { return "pricing_pair_profit"; }

Member Data Documentation

Reimplemented from PLearn::Kernel.

Definition at line 83 of file PricingTransactionPairProfitFunction.h.

transaction loss

Definition at line 73 of file PricingTransactionPairProfitFunction.h.

Referenced by declareOptions().

transaction loss

Definition at line 72 of file PricingTransactionPairProfitFunction.h.

Referenced by declareOptions().

transaction loss

Definition at line 74 of file PricingTransactionPairProfitFunction.h.

Referenced by declareOptions().


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines