-
Fix Candlestick plotting. (#433)
-
Fix labels bug in
TimeArray
plot recipe. (#430) -
Fix double-width char display in
Base.show
. (#427)
-
Improve performance of
moving
function. (#414) -
moving
supports multi-column as input for user-defined function. (#415)moving(ohlc, 10, dims = 2, colnames = [:A, ...]) do # given that `ohlc` is a 500x4 `TimeArray`, # size(A) is (10, 4) ... end
-
The argument
method
of functionmerge
is a keyword argument now. (#416)merge(x, y, method = :outer)
-
The function
merge
supports variable length input. (#416)merge(x, y, [zs...], method = :outer)
-
New function
rename!
for in-place update of column names. (#417) -
Fix issues of
TimeArray
column names copying. (#418) -
Fix
@inbounds
handling forTimeArray
. (#425) -
timearray[]
throwsBoundsError
now. (#420)julia> cl[] ERROR: BoundsError: attempt to access TimeArray{Float64,1,Date,Array{Float64,1}} at index []
-
Tables.jl
interface integration. (#382) -
2D
getindex
supports. (#423)ohlc[1:42, [:High, :Low]] ohlc[42:end, [:High, :Low]] ohlc[:, [:High, :Low]] ohlc[42, [:High, :Low]]
-
New
TimeArray
constructor for creating aTimeArray
from existingTimeArray
. ([#380])TimeArray(ta::TimeArray; timestamp = ..., values = ..., colnames = ..., meta = ...)
E.g.
julia> meta(cl) "AAPL" julia> cl′ = TimeArray(cl; meta = :AAPL); julia> meta(cl′) :AAPL
-
merge
now throwsArgumentError
on invalid column setup. ([#405]) -
percentchange
anddropnan
now throwArgumentError
on invalidmethod
. ([#405])
-
Symbol column indexing. (#377) And the String indexing is deprecated.
E.g.
using MarketData ohlc[:Close] # and cl["Close"] is deprecated
-
Base.getproperty
support. (#377) All the columns can be accessed via the formta.column_name
.E.g.
using MarketData ohlc.Open
The original
TimeArray
fields getters is available as functions.timestamp(::TimeArray)
values(::TimeArray)
colnames(::TimeArray)
meta(::TimeArray)
ohlc.values # this is unavailable due to Base.getproperty support values(ohlc) # change to this
- Julia v0.7/1.0 support. (#370)
-
Support
Base.copy(::TimeArray)
. (#352) -
A new option for
TimeArray
constructor:unchecked::Bool
to skip the sanity check of timestamp. (#361)merge()
optimization via theunchecked
option. (#363)
-
Revoking deprecation warning of
==
and redefining its meaning as 'comparing all fields of twoTimeArray
s'. Note that if twoTimeArray
s have different dimension, we consider that is unequal. (#356, #357)julia> cl == copy(cl) true
-
Also,
isequal
andhash
is supported now.julia> d = Dict(cl => 42); julia> d[cl] 42 julia> d[copy(cl)] 42
-
-
diff
supports higher order difference now.(#350) -
diff
supportn
time steps lag now. (#362)julia> diff(cl, 5) 495x1 TimeSeries.TimeArray{Float64,1,Date,Array{Float64,1}} 2000-01-10 to 2001-12-31 │ │ Close │ ├────────────┼────────┤ │ 2000-01-10 │ -14.19 │ │ 2000-01-11 │ -9.75 │ │ 2000-01-12 │ -16.81 │ ⋮ │ 2001-12-27 │ 0.45 │ │ 2001-12-28 │ 1.76 │ │ 2001-12-31 │ 0.9 │
-
New keyword argument for
readtimearray
:header::Bool
. (#358) -
TimeArray
supportsall()
andany()
now. (#356, #359)julia> ta 3x2 TimeSeries.TimeArray{Int64,2,Date,Array{Int64,2}} 2000-01-03 to 2000-01-05 │ │ _1 │ _2 │ ├────────────┼───────┼───────┤ │ 2000-01-03 │ 1 │ 2 │ │ 2000-01-04 │ 3 │ 4 │ │ 2000-01-05 │ 5 │ 6 │ julia> all(ta .> 3, 2) 3x1 TimeSeries.TimeArray{Bool,2,Date,BitArray{2}} 2000-01-03 to 2000-01-05 │ │ all │ ├────────────┼───────┤ │ 2000-01-03 │ false │ │ 2000-01-04 │ false │ │ 2000-01-05 │ true │
-
Dropping 0.5 support. (issue #327)
-
TimeArray
constructor,merge
,update
,vcat
andrename
will throw typed exceptions. (issue #322) -
Signature of
moving
becomesmoving(f, ta::TimeArray, window; padding=false)
, in order to support do-syntax. The original one is deprecated. (issue #334)
-
Signature of
upto
becomesmoving(f, ta::TimeArray, window; padding=false)
, in order to support do-syntax. The original one is deprecated. (issue #337)
-
map
supports callable object. (issue #339)struct T end (::T)(timestamp, x) = (timestamp, x + 42) t = T() map(t, ta)
-
hcat
support. Given twoTimeArray
which have same timestamp,[ta1 ta2]
can perform faster than
merge(ta1, ta2)
in this case. (issue #341) -
Support more reduction functions of Base. (issue #338)
sum
mean
std
var
e.g.
sum(ta) # same as sum(ta, 1), and it's equivalent to moving(sum, ta, length(ta)) sum(ta, 2)
-
Support cumulative prod
cumprod
. (issue #338) -
Support
eachindex(ta)
. (issue #336)
- add support for time series plotting via RecipesBase dependency (thank you @mkborregaard)
- add StepRange indexing support (issue #311)
- improve readtimearray to accept IOBuffer (@femtotrader fixes issue #298)
- improve update method and dis-allow updating of empty time arrays (fixes issue #286)
- first version to support julia 0.5 release candidates
- merge method deals with meta field values more robustly (fixes issue #164)
- reexport Base.Dates methods and DataTypes (fixes issue #277)
- unique column names are enforced (fixes issue #255)
- update() method creates new TimeArray from existing one, with new timestamp/value pair.
- rename() method creates new TimeArray from existing one, with new column name(s).
- adds tail() and head() methods
- allows users to show customizable representations for missing values, which are represented as NaN values in the array.
- provides TimeArray constructor without requiring colnames argument (defaults to empty array)
- makes to() and from() more robust by taking zero-length time arrays (@dourouc05 )
- removes using Base.Dates from outside module @tkelman
- deprecated
collapse(ta::TimeArray, f::Function; period::Function=week)
in favour ofcollapse(ta::TimeArray, period::Function, timestamp::Function, value::Function=timestamp)
and added support for collapsing 2D TimeArrays
- allow math operations between different Number subtypes
- explicitly convert column names to strings in
readtimearray
- operations between TimeArrays with non-matching meta fields now succeed, with a
Void
meta in the result
- ensure dates are sorted for vcat and map (@dourouc05)
- map and vcat methods added (thanks again @dourouc05)
- readtimearray method now allows arbitrary delimiters (thanks @dourouc05)
- TimeType replaces Union{Date, DateTime}
- meta field in Type downgraded from parameterized to Any
- NaN sentinels added as a kwarg to lag and lead methods
- merge method now supports left, right and outer joins
- percentchange takes method argument as a Symbol vs String
- new methods added including: uniformspaced, uniformspace, dropnan, diff
- findall added to deprecated list in favor of find
- refactors when() method for 30% performance improvement
- begin deprecation of by() method, which is being replaced by when()
- when() re-arranges the argument order to TimeArray, Function, Int (or ASCIIString)
- support for ASCIIStrings are now provided for both by() and when() methods
- support added for displaying empty TimeArray
- common scalar -> scalar math functions as unary operators
- adds isnan and isinf
- fixes tests on meta field
- downgrades show tests to pending
- replaces Nothing -> nothing and String -> AbstractString
- precompile support added
- test/combine.jl and test/split.jl now imports Base.Dates explicitly
- added support for
end
keyword in indices - added support for lookups via Boolean TimeArrays - e.g. ta[ta["col"] .> 50]
- speedup for lookups via lists of Date/DateTime objects
- a phantom release that is actually older than 0.6.0
- first version with support for Julia 0.4 only
- generalized value container from Array to AbstractArray
- implemented new element-wise operators: !, ~, &, |, $, %, !==
- implemented element-wise unary math operators (+, -)
- side note: a previous commit was tagged with v0.6.0 incorrectly, this commit resolves that mistake
- last version with support for Julia 0.3
- support for Julia 0.4 dropped, along with the Compat package
- changed references of flipud(A) to flipdim(A,1)_
- changed references of round(x) to iround(Integer,x)_
- changed references of iround(Integer,x) back to round(Integer,x)_
- changed references of int(x) to round(Int64, x)
- changed references of float(x) to map(Float64, x)
- changed references of [a] to [a;] in a comprehension found in the by() method
- added Compat package
- substantial speedup for element-wise mathematical operators
- added kwarg argument
format
to thereadtimearray
method to allow parsing datetime formats that are not currently supported. - changed two references to
Range1
toUnitRange
- added import of Base.values. I had defined it first and I guess they like it so much they co-opted it. :)
Not currently documented.