The function will attempt to make reasonable assumptions about what you're trying to do, but this isn't magic.
You will typically need to specify the type of instrument to be loaded, failure to do so will generate a Warning and default_type will be used.
You will need to specify a primary_id, or define a id_col that contains the data to be used as the primary_id of the instrument.
You will need to specify a currency, unless the instrument type is 'currency'
Use the identifier_cols argument to specify which fields (if any) in the CSV are to be passed to instrument as the identifiers argument
Typically, columns will exist for multiplier and tick_size.
Any other columns necessary to define the specified instrument type will also be required to avoid fatal Errors.
Additional columns will be processed, either as additional identifiers for recognized identifier names, or as custom fields. See instrument for more information on custom fields.