The Initial State Events API allows you to specify an optional timestamp when sending data (more info). Timestamps are automatically sorted on view allowing you to send data in any timestamp order. Sending data from the past into an existing data bucket is as easy as specifying each timestamp and using the same access key and bucket key when sending data.
An example Python script that reads a CSV file containing data + timestamps and sends it to a specified data bucket can be found here.
Related: Append to an Existing Data Bucket