By EIP20 standard the symbol can be arbitrary length, but major wallet's UI's have a short limit implemented (e.g. Metamask has 11 - which we decided to stick with).
Here's an example Option symbol:
H0C22P3P668
Current encoding is using 11 chars as follows:
1 char from [A-Z] represents [Option type]
I = IceAge (block time based)
H = Hashrate (block difficulty based)
C = Capacity (block gas limit based)
4 chars for [Expiration date]
0 - last digit of current year (2020 = 0)
B - month in hex (1-9=Jan-Sep, A=Oct, B=Nov, C=Dec)
17 - day of month
1 char [P or C] for [Put/Call]
P - Put
C - Call
5 chars for [Strike Price] encoded with RKM
- If the price fits within 5 digits - it is displayed as-is, with trailing zeroes (145 is displayed as 00145).
- If it is more than 5 digits - it uses RKM-based notation using all available 5 chars (12 500 000 is displayed like 12M50). Letter is placed instead of the decimal point, and it represents Metric Prefixes - Mega, Giga, Tera, Peta, etc - as far as Yotta (which can encode 27 digits, making the maximum: 999Y9)
So the example above can be decoded as:
H0C22P3P668H - Option Type H (Hashrate)
0C22 - Expires on 2020-Dec-22 (0 is for 2020, C is 12th month = December), 22 is day
P - Put
3P668 - StrikePrice is 3.668 Petahash (3 668 000 000 000 000)
ERC20 Name of an option is just OilerOption+[type] (IceAge/Hashrate/Capacity)