otp.Source.Symbol#
- class SymbolType[source]#
Bases:
object
You can get symbol name and symbol parameters with this class.
Examples
>>> symbols = otp.Symbols('SOME_DB') >>> symbols['PARAM'] = 'PAM' >>> ticks = otp.DataSource('SOME_DB', tick_type='TT') >>> ticks['SYMBOL_PARAM'] = ticks.Symbol.PARAM >>> ticks['SYMBOL_NAME'] = ticks.Symbol.name >>> ticks = otp.merge([ticks], symbols=symbols) >>> otp.run(ticks) Time X SYMBOL_PARAM SYMBOL_NAME 0 2003-12-01 00:00:00.000 1 PAM S1 1 2003-12-01 00:00:00.000 -3 PAM S2 2 2003-12-01 00:00:00.001 2 PAM S1 3 2003-12-01 00:00:00.001 -2 PAM S2 4 2003-12-01 00:00:00.002 3 PAM S1 5 2003-12-01 00:00:00.002 -1 PAM S2
- property name#
Get symbol name.
- Return type
Examples
>>> symbols = otp.Symbols('SOME_DB') >>> ticks = otp.DataSource('SOME_DB', tick_type='TT') >>> ticks['SYMBOL_NAME'] = ticks.Symbol.name >>> ticks = otp.merge([ticks], symbols=symbols) >>> otp.run(ticks) Time X SYMBOL_NAME 0 2003-12-01 00:00:00.000 1 S1 1 2003-12-01 00:00:00.000 -3 S2 2 2003-12-01 00:00:00.001 2 S1 3 2003-12-01 00:00:00.001 -2 S2 4 2003-12-01 00:00:00.002 3 S1 5 2003-12-01 00:00:00.002 -1 S2
- __getattr__(item)[source]#
Get symbol parameter by name. Notice, that symbol parameter type will be string.
Deprecated since version 1.74.0: Please, use
__getitem__()
method.- Return type
Examples
>>> symbols = otp.Symbols('SOME_DB') >>> symbols['PARAM'] = 'PAM' >>> ticks = otp.DataSource('SOME_DB', tick_type='TT') >>> ticks['SYMBOL_PARAM'] = ticks.Symbol.PARAM >>> ticks = otp.merge([ticks], symbols=symbols) >>> otp.run(ticks) Time X SYMBOL_PARAM 0 2003-12-01 00:00:00.000 1 PAM 1 2003-12-01 00:00:00.000 -3 PAM 2 2003-12-01 00:00:00.001 2 PAM 3 2003-12-01 00:00:00.001 -2 PAM 4 2003-12-01 00:00:00.002 3 PAM 5 2003-12-01 00:00:00.002 -1 PAM
- __getitem__(item)[source]#
Get symbol parameter by name.
- Parameters
item (tuple) – The first parameter is string - symbol parameter name. The second one is symbol parameter type.
- Return type
Examples
The second parameter is symbol parameter’s type.
>>> symbols = otp.Symbols('SOME_DB') >>> symbols['PARAM'] = 5 >>> ticks = otp.DataSource('SOME_DB', tick_type='TT') >>> ticks['SYMBOL_PARAM'] = ticks.Symbol['PARAM', int] + 1 >>> ticks['SYMBOL_PARAM'].dtype <class 'int'> >>> ticks = otp.merge([ticks], symbols=symbols) >>> otp.run(ticks) Time X SYMBOL_PARAM 0 2003-12-01 00:00:00.000 1 6 1 2003-12-01 00:00:00.000 -3 6 2 2003-12-01 00:00:00.001 2 6 3 2003-12-01 00:00:00.001 -2 6 4 2003-12-01 00:00:00.002 3 6 5 2003-12-01 00:00:00.002 -1 6
It also works with
msectime
andnsectime
types:>>> symbols = otp.Symbols('SOME_DB') >>> symbols['NSECTIME_PARAM'] = symbols['Time'] + otp.Nano(100) >>> symbols['MSECTIME_PARAM'] = symbols['Time'] + otp.Milli(1) >>> ticks = otp.DataSource('SOME_DB', tick_type='TT') >>> ticks['NSECTIME_PARAM'] = ticks.Symbol['NSECTIME_PARAM', otp.nsectime] + otp.Nano(1) >>> ticks['MSECTIME_PARAM'] = ticks.Symbol['MSECTIME_PARAM', otp.msectime] + otp.Milli(1) >>> ticks['NSECTIME_PARAM'].dtype <class 'onetick.py.types.nsectime'> >>> ticks['MSECTIME_PARAM'].dtype <class 'onetick.py.types.msectime'> >>> ticks = otp.merge([ticks], symbols=symbols) >>> otp.run(ticks) Time X NSECTIME_PARAM MSECTIME_PARAM 0 2003-12-01 00:00:00.000 1 2003-12-01 00:00:00.000000101 2003-12-01 00:00:00.002 1 2003-12-01 00:00:00.000 -3 2003-12-01 00:00:00.000000101 2003-12-01 00:00:00.002 2 2003-12-01 00:00:00.001 2 2003-12-01 00:00:00.000000101 2003-12-01 00:00:00.002 3 2003-12-01 00:00:00.001 -2 2003-12-01 00:00:00.000000101 2003-12-01 00:00:00.002 4 2003-12-01 00:00:00.002 3 2003-12-01 00:00:00.000000101 2003-12-01 00:00:00.002 5 2003-12-01 00:00:00.002 -1 2003-12-01 00:00:00.000000101 2003-12-01 00:00:00.002