use serde::{Deserialize, Serialize};
#[allow(clippy::upper_case_acronyms)]
#[derive(Clone, Copy, Debug, Deserialize, Serialize)]
pub enum Market {
NZX,
ASX,
NYSE,
NASDAQ,
LSE,
FundAU,
FundNZ,
#[serde(rename = "mFund")]
MFund,
EURONEXT,
CNSX,
TSE,
CVE,
HKG,
OTHER,
SGX,
JSE,
FRA,
SWX,
TYO,
BIT,
BME,
BSE,
NSE,
FX,
FundCA,
AMEX,
OTCBB,
OTC,
SHE,
KRX,
TAI,
MFQS,
BATS,
FundUK,
STO,
CSE,
ICE,
HEL,
OSL,
KLS,
SHG,
DUB,
MISX,
BKK,
WAR,
KOSDAQ,
TLV,
BDP,
NEO,
FundUS,
}
#[derive(Clone, Copy, Debug, Deserialize, Serialize)]
#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
pub enum TradeDescription {
Buy,
Sell,
Split,
Bonus,
Consold,
Cancel,
CapitalReturn,
OpeningBalance,
AdjustCostBase,
MergeCancel,
MergeBuy,
CapitalCall,
}
#[derive(Clone, Copy, Debug, Deserialize, Serialize)]
pub enum PayoutDescription {
#[serde(rename = "DIV")]
Dividend,
#[serde(rename = "REP")]
CapitalRepayment,
#[serde(rename = "INT")]
InterestPayment,
#[serde(rename = "DIS")]
Distribution,
}
#[derive(Clone, Copy, Debug, Deserialize, Serialize)]
pub enum Country {
#[serde(rename = "AF")]
Afghanistan,
#[serde(rename = "AL")]
Albania,
#[serde(rename = "DZ")]
Algeria,
#[serde(rename = "AS")]
AmericanSamoa,
#[serde(rename = "AD")]
Andorra,
#[serde(rename = "AO")]
Angola,
#[serde(rename = "AI")]
Anguilla,
#[serde(rename = "AQ")]
Antarctica,
#[serde(rename = "AG")]
AntiguaAndBarbuda,
#[serde(rename = "AR")]
Argentina,
#[serde(rename = "AM")]
Armenia,
#[serde(rename = "AW")]
Aruba,
#[serde(rename = "_AS")]
Asia,
#[serde(rename = "AU")]
Australia,
#[serde(rename = "AT")]
Austria,
#[serde(rename = "AZ")]
Azerbaijan,
#[serde(rename = "BS")]
Bahamas,
#[serde(rename = "BH")]
Bahrain,
#[serde(rename = "BD")]
Bangladesh,
#[serde(rename = "BB")]
Barbados,
#[serde(rename = "BY")]
Belarus,
#[serde(rename = "BE")]
Belgium,
#[serde(rename = "BZ")]
Belize,
#[serde(rename = "BJ")]
Benin,
#[serde(rename = "BM")]
Bermuda,
#[serde(rename = "BT")]
Bhutan,
#[serde(rename = "XB")]
Bitcoin,
#[serde(rename = "BO")]
Bolivia,
#[serde(rename = "BQ")]
BonaireSintEustatiusAndSaba,
#[serde(rename = "BA")]
BosniaAndHerzegovina,
#[serde(rename = "BW")]
Botswana,
#[serde(rename = "BV")]
BouvetIsland,
#[serde(rename = "BR")]
Brazil,
#[serde(rename = "IO")]
BritishIndianOceanTerritory,
#[serde(rename = "BN")]
Brunei,
#[serde(rename = "BG")]
Bulgaria,
#[serde(rename = "BF")]
BurkinaFaso,
#[serde(rename = "BI")]
Burundi,
#[serde(rename = "KH")]
Cambodia,
#[serde(rename = "CM")]
Cameroon,
#[serde(rename = "CA")]
Canada,
#[serde(rename = "CV")]
CapeVerde,
#[serde(rename = "KY")]
CaymanIslands,
#[serde(rename = "CF")]
CentralAfricanRepublic,
#[serde(rename = "TD")]
Chad,
#[serde(rename = "CL")]
Chile,
#[serde(rename = "CN")]
China,
#[serde(rename = "_CN")]
ChinaOffshore,
#[serde(rename = "CX")]
ChristmasIsland,
#[serde(rename = "CC")]
CocosKeelingIslands,
#[serde(rename = "CO")]
Colombia,
#[serde(rename = "KM")]
Comoros,
#[serde(rename = "CG")]
CongoRepublicOfTheDemocratic,
#[serde(rename = "CD")]
CongoBrazzaville,
#[serde(rename = "CK")]
CookIslands,
#[serde(rename = "CR")]
CostaRica,
#[serde(rename = "HR")]
Croatia,
#[serde(rename = "CU")]
Cuba,
#[serde(rename = "CW")]
Curaçao,
#[serde(rename = "CY")]
Cyprus,
#[serde(rename = "XCY")]
CyprusPreEuro,
#[serde(rename = "CZ")]
CzechRepublic,
#[serde(rename = "DK")]
Denmark,
#[serde(rename = "DJ")]
Djibouti,
#[serde(rename = "DM")]
Dominica,
#[serde(rename = "DO")]
DominicanRepublic,
#[serde(rename = "TP")]
EastTimorP,
#[serde(rename = "TL")]
EastTimorL,
#[serde(rename = "EC")]
Ecuador,
#[serde(rename = "EG")]
Egypt,
#[serde(rename = "SV")]
ElSalvador,
#[serde(rename = "GQ")]
EquatorialGuinea,
#[serde(rename = "ER")]
Eritrea,
#[serde(rename = "EE")]
Estonia,
#[serde(rename = "XEE")]
EstoniaPreEuro,
#[serde(rename = "ET")]
Ethiopia,
#[serde(rename = "XS")]
Europe,
#[serde(rename = "FK")]
FalklandIslands,
#[serde(rename = "FO")]
FaroeIslands,
#[serde(rename = "FJ")]
Fiji,
#[serde(rename = "FI")]
Finland,
#[serde(rename = "FR")]
France,
#[serde(rename = "GF")]
FrenchGuiana,
#[serde(rename = "PF")]
FrenchPolynesia,
#[serde(rename = "TF")]
FrenchSouthernTerritories,
#[serde(rename = "GA")]
Gabon,
#[serde(rename = "GM")]
Gambia,
#[serde(rename = "GE")]
Georgia,
#[serde(rename = "DE")]
Germany,
#[serde(rename = "GH")]
Ghana,
#[serde(rename = "GI")]
Gibraltar,
#[serde(rename = "GR")]
Greece,
#[serde(rename = "GL")]
Greenland,
#[serde(rename = "GD")]
Grenada,
#[serde(rename = "GP")]
Guadeloupe,
#[serde(rename = "GU")]
Guam,
#[serde(rename = "GT")]
Guatemala,
#[serde(rename = "GG")]
Guernsey,
#[serde(rename = "GN")]
Guinea,
#[serde(rename = "GW")]
GuineaBissau,
#[serde(rename = "GY")]
Guyana,
#[serde(rename = "HT")]
Haiti,
#[serde(rename = "HM")]
HeardAndMcDonaldIslands,
#[serde(rename = "HN")]
Honduras,
#[serde(rename = "HK")]
HongKong,
#[serde(rename = "HU")]
Hungary,
#[serde(rename = "IS")]
Iceland,
#[serde(rename = "IN")]
India,
#[serde(rename = "ID")]
Indonesia,
#[serde(rename = "_IN")]
International,
#[serde(rename = "IR")]
Iran,
#[serde(rename = "IQ")]
Iraq,
#[serde(rename = "IE")]
Ireland,
#[serde(rename = "IM")]
IsleOfMan,
#[serde(rename = "IL")]
Israel,
#[serde(rename = "IT")]
Italy,
#[serde(rename = "CI")]
IvoryCoast,
#[serde(rename = "JM")]
Jamaica,
#[serde(rename = "JP")]
Japan,
#[serde(rename = "JE")]
Jersey,
#[serde(rename = "JO")]
Jordan,
#[serde(rename = "KZ")]
Kazakhstan,
#[serde(rename = "KE")]
Kenya,
#[serde(rename = "KI")]
Kiribati,
#[serde(rename = "KW")]
Kuwait,
#[serde(rename = "KG")]
Kyrgyzstan,
#[serde(rename = "LA")]
LaoPeoplesDemocraticRepublic,
#[serde(rename = "_LA")]
LatinAmerica,
#[serde(rename = "LV")]
Latvia,
#[serde(rename = "XLV")]
LatviaPreEuro,
#[serde(rename = "LB")]
Lebanon,
#[serde(rename = "LS")]
Lesotho,
#[serde(rename = "LR")]
Liberia,
#[serde(rename = "LY")]
LibyanArabJamahiriya,
#[serde(rename = "LI")]
Liechtenstein,
#[serde(rename = "LT")]
Lithuania,
#[serde(rename = "XLT")]
LithuaniaPreEuro,
#[serde(rename = "LU")]
Luxembourg,
#[serde(rename = "MO")]
Macau,
#[serde(rename = "MG")]
Madagascar,
#[serde(rename = "MW")]
Malawi,
#[serde(rename = "MY")]
Malaysia,
#[serde(rename = "MV")]
Maldives,
#[serde(rename = "ML")]
Mali,
#[serde(rename = "MT")]
Malta,
#[serde(rename = "XMT")]
MaltaPreEuro,
#[serde(rename = "MH")]
MarshallIslands,
#[serde(rename = "MQ")]
Martinique,
#[serde(rename = "MR")]
Mauritania,
#[serde(rename = "MU")]
Mauritius,
#[serde(rename = "YT")]
Mayotte,
#[serde(rename = "MX")]
Mexico,
#[serde(rename = "FM")]
Micronesia,
#[serde(rename = "_ME")]
MiddleEast,
#[serde(rename = "MD")]
MoldovaRepublicOf,
#[serde(rename = "MC")]
Monaco,
#[serde(rename = "MN")]
Mongolia,
#[serde(rename = "ME")]
Montenegro,
#[serde(rename = "MS")]
Montserrat,
#[serde(rename = "MA")]
Morocco,
#[serde(rename = "MZ")]
Mozambique,
#[serde(rename = "MM")]
Myanmar,
#[serde(rename = "NA")]
Namibia,
#[serde(rename = "NR")]
Nauru,
#[serde(rename = "NP")]
Nepal,
#[serde(rename = "NL")]
Netherlands,
#[serde(rename = "AN")]
NetherlandsAntilles,
#[serde(rename = "NC")]
NewCaledonia,
#[serde(rename = "NZ")]
NewZealand,
#[serde(rename = "NI")]
Nicaragua,
#[serde(rename = "NE")]
Niger,
#[serde(rename = "NG")]
Nigeria,
#[serde(rename = "NU")]
Niue,
#[serde(rename = "NF")]
NorfolkIsland,
#[serde(rename = "KP")]
NorthKorea,
#[serde(rename = "MK")]
NorthMacedonia,
#[serde(rename = "MP")]
NorthernMarianaIslands,
#[serde(rename = "NO")]
Norway,
#[serde(rename = "OM")]
Oman,
#[serde(rename = "PK")]
Pakistan,
#[serde(rename = "PW")]
Palau,
#[serde(rename = "PA")]
Panama,
#[serde(rename = "PG")]
PapuaNewGuinea,
#[serde(rename = "PY")]
Paraguay,
#[serde(rename = "PE")]
Peru,
#[serde(rename = "PH")]
Philippines,
#[serde(rename = "PN")]
Pitcairn,
#[serde(rename = "PL")]
Poland,
#[serde(rename = "PT")]
Portugal,
#[serde(rename = "PR")]
PuertoRico,
#[serde(rename = "QA")]
Qatar,
#[serde(rename = "RE")]
Reunion,
#[serde(rename = "RO")]
Romania,
#[serde(rename = "RU")]
RussianFederation,
#[serde(rename = "RW")]
Rwanda,
#[serde(rename = "BL")]
SaintBarthélemy,
#[serde(rename = "SH")]
SaintHelena,
#[serde(rename = "KN")]
SaintKitts,
#[serde(rename = "LC")]
SaintLucia,
#[serde(rename = "MF")]
SaintMartin,
#[serde(rename = "PM")]
SaintPierreAndMiquelon,
#[serde(rename = "VC")]
SaintVincentGrenadines,
#[serde(rename = "WS")]
Samoa,
#[serde(rename = "SM")]
SanMarino,
#[serde(rename = "ST")]
SaoTomeAndPrincipe,
#[serde(rename = "SA")]
SaudiArabia,
#[serde(rename = "SN")]
Senegal,
#[serde(rename = "RS")]
Serbia,
#[serde(rename = "SC")]
Seychelles,
#[serde(rename = "SL")]
SierraLeone,
#[serde(rename = "SG")]
Singapore,
#[serde(rename = "SX")]
SintMaarten,
#[serde(rename = "SK")]
Slovakia,
#[serde(rename = "XSK")]
SlovakiaPreEuro,
#[serde(rename = "SI")]
Slovenia,
#[serde(rename = "SB")]
SolomonIslands,
#[serde(rename = "SO")]
Somalia,
#[serde(rename = "ZA")]
SouthAfrica,
#[serde(rename = "GS")]
SouthGeorgiaAndTheSouthSandwichIslands,
#[serde(rename = "KR")]
SouthKorea,
#[serde(rename = "SS")]
SouthSudan,
#[serde(rename = "ES")]
Spain,
#[serde(rename = "LK")]
SriLanka,
#[serde(rename = "PS")]
StateOfPalestine,
#[serde(rename = "SD")]
Sudan,
#[serde(rename = "SR")]
Suriname,
#[serde(rename = "SJ")]
SvalbardAndJanMayenIslands,
#[serde(rename = "SZ")]
Swaziland,
#[serde(rename = "SE")]
Sweden,
#[serde(rename = "CH")]
Switzerland,
#[serde(rename = "SY")]
SyrianArabRepublic,
#[serde(rename = "TW")]
Taiwan,
#[serde(rename = "TJ")]
Tajikistan,
#[serde(rename = "TZ")]
Tanzania,
#[serde(rename = "TH")]
Thailand,
#[serde(rename = "TG")]
Togo,
#[serde(rename = "TK")]
Tokelau,
#[serde(rename = "TO")]
Tonga,
#[serde(rename = "TT")]
TrinidadAndTobago,
#[serde(rename = "TN")]
Tunisia,
#[serde(rename = "TR")]
Turkey,
#[serde(rename = "TM")]
Turkmenistan,
#[serde(rename = "TC")]
TurksAndCaicosIslands,
#[serde(rename = "TV")]
Tuvalu,
#[serde(rename = "UG")]
Uganda,
#[serde(rename = "UA")]
Ukraine,
#[serde(rename = "AE")]
UnitedArabEmirates,
#[serde(rename = "GB")]
UnitedKingdom,
#[serde(rename = "US")]
UnitedStates,
#[serde(rename = "UM")]
UnitedStatesMinorOutlyingIslands,
#[serde(rename = "UN")]
Unknown,
#[serde(rename = "UY")]
Uruguay,
#[serde(rename = "UZ")]
Uzbekistan,
#[serde(rename = "VU")]
Vanuatu,
#[serde(rename = "VA")]
VaticanCityState,
#[serde(rename = "VE")]
Venezuela,
#[serde(rename = "VN")]
Vietnam,
#[serde(rename = "VG")]
VirginIslandsBritish,
#[serde(rename = "VI")]
VirginIslandsUS,
#[serde(rename = "WF")]
WallisAndFutunaIslands,
#[serde(rename = "EH")]
WesternSahara,
#[serde(rename = "YE")]
Yemen,
#[serde(rename = "ZM")]
Zambia,
#[serde(rename = "ZW")]
Zimbabwe,
#[serde(rename = "AX")]
ÅlandIslands,
}
#[allow(clippy::upper_case_acronyms)]
#[derive(Clone, Copy, Debug, Deserialize, Serialize)]
pub enum Currency {
AFN,
ALL,
DZD,
ARS,
AMD,
AUD,
AZN,
BSD,
BHD,
THB,
BBD,
BYN,
BZD,
BMD,
XBT,
BTS,
VEF,
BOB,
BAM,
BRL,
BND,
BIF,
XOF,
XAF,
XPF,
CAD,
KYD,
CLP,
CNH,
COP,
KMF,
CDF,
NIO,
CRC,
HRK,
CUP,
CYP,
GMD,
DKK,
DAS,
SDG,
MAD,
AED,
DJF,
STD,
DOP,
VND,
XCD,
EGP,
CVE,
EEK,
ETH,
ETB,
EUR,
FKP,
FJD,
HUF,
GIP,
HTG,
GNF,
GYD,
HKD,
UAH,
ISK,
INR,
IDR,
IRR,
IQD,
JMD,
JPY,
JOD,
KZT,
KES,
PGK,
LAK,
CZK,
SKK,
SEK,
KWD,
ZMK,
MMK,
GEL,
LVL,
LBP,
HNL,
SLL,
MDL,
RON,
BGN,
LRD,
LYD,
SZL,
TRY,
LTL,
LTC,
LSL,
MOP,
MKD,
MGA,
MWK,
MVR,
MTL,
TMT,
MUR,
MZN,
MXN,
XMR,
NGN,
NAD,
NPR,
ANG,
TWD,
NZD,
KPW,
NOK,
PEN,
OMR,
MRO,
PKR,
TOP,
PAB,
PYG,
PHP,
GBP,
BWP,
QAR,
GTQ,
ZAR,
YER,
KHR,
MYR,
XRP,
SAR,
RUB,
RWF,
SVC,
RSD,
SCR,
ILS,
SOS,
TZS,
UGX,
SGD,
SBD,
KGS,
KRW,
LKR,
XLM,
ECS,
SRD,
CHF,
SYP,
TJS,
BDT,
TTD,
MNT,
TND,
USD,
UYU,
UZS,
VUV,
CNY,
ZWD,
PLN,
}
#[derive(Clone, Copy, Debug, Deserialize, Serialize)]
pub enum SaleAllocationMethod {
#[serde(rename = "average")]
AverageCost,
#[serde(rename = "default")]
PortfolioDefault,
#[serde(rename = "fifo")]
FirstInFirstOut,
#[serde(rename = "lifo")]
LastInFirstOut,
#[serde(rename = "maximise_cr")]
MaximiseGain,
#[serde(rename = "minimise_cr")]
MinimiseGain,
#[serde(rename = "ss_minimise")]
MinimiseCgt,
}