Fully annotated reference manual - version 1.8.12
Loading...
Searching...
No Matches
ored
scripting
scriptengine.hpp
Go to the documentation of this file.
1
/*
2
Copyright (C) 2019 Quaternion Risk Management Ltd
3
All rights reserved.
4
5
This file is part of ORE, a free-software/open-source library
6
for transparent pricing and risk analysis - http://opensourcerisk.org
7
8
ORE is free software: you can redistribute it and/or modify it
9
under the terms of the Modified BSD License. You should have received a
10
copy of the license along with this program.
11
The license is also available online at <http://opensourcerisk.org>
12
13
This program is distributed on the basis that it will form a useful
14
contribution to risk analytics and model standardisation, but WITHOUT
15
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
16
FITNESS FOR A PARTICULAR PURPOSE. See the license for more details.
17
*/
18
19
/*! \file ored/scripting/scriptengine.hpp
20
\brief scriptengine
21
\ingroup utilities
22
*/
23
24
#pragma once
25
26
#include <
ored/scripting/models/model.hpp
>
27
#include <
ored/scripting/ast.hpp
>
28
#include <
ored/scripting/context.hpp
>
29
#include <
ored/scripting/paylog.hpp
>
30
31
#include <
ored/configuration/conventions.hpp
>
32
33
namespace
ore
{
34
namespace
data
{
35
36
class
ScriptEngine
{
37
public
:
38
ScriptEngine
(
const
ASTNodePtr
root,
const
QuantLib::ext::shared_ptr<Context> context,
39
const
QuantLib::ext::shared_ptr<Model> model =
nullptr
)
40
:
root_
(root),
context_
(context),
model_
(model) {}
41
void
run
(
const
std::string&
script
=
""
,
bool
interactive =
false
, QuantLib::ext::shared_ptr<PayLog> paylog =
nullptr
,
42
bool
includePastCashflows =
false
);
43
44
private
:
45
const
ASTNodePtr
root_
;
46
const
QuantLib::ext::shared_ptr<Context>
context_
;
47
const
QuantLib::ext::shared_ptr<Model>
model_
;
48
};
49
50
}
// namespace data
51
}
// namespace ore
ast.hpp
abstract syntax tree for payoff scripting
script
std::string script
Definition:
asttoscriptconverter.cpp:767
ore::data::ScriptEngine
Definition:
scriptengine.hpp:36
ore::data::ScriptEngine::run
void run(const std::string &script="", bool interactive=false, QuantLib::ext::shared_ptr< PayLog > paylog=nullptr, bool includePastCashflows=false)
Definition:
scriptengine.cpp:1163
ore::data::ScriptEngine::context_
const QuantLib::ext::shared_ptr< Context > context_
Definition:
scriptengine.hpp:46
ore::data::ScriptEngine::root_
const ASTNodePtr root_
Definition:
scriptengine.hpp:45
ore::data::ScriptEngine::ScriptEngine
ScriptEngine(const ASTNodePtr root, const QuantLib::ext::shared_ptr< Context > context, const QuantLib::ext::shared_ptr< Model > model=nullptr)
Definition:
scriptengine.hpp:38
ore::data::ScriptEngine::model_
const QuantLib::ext::shared_ptr< Model > model_
Definition:
scriptengine.hpp:47
context.hpp
script engine context holding variable names and values
conventions.hpp
Currency and instrument specific conventions/defaults.
data
@ data
Definition:
log.hpp:77
model.hpp
interface for model against which a script can be run
ore::data::ASTNodePtr
QuantLib::ext::shared_ptr< ASTNode > ASTNodePtr
Definition:
ast.hpp:46
ore
Serializable Credit Default Swap.
Definition:
namespaces.docs:23
paylog.hpp
repository for cashflows generated by the PAYLOG() function
Generated by
Doxygen
1.9.5