Introduction
GAUSS 26 is here, bringing over 30 new features, enhancements, and bug fixes focused on making your daily data work faster and more intuitive.
This release introduces interactive data transformation in the Symbol Editor, new functions for time series aggregation and panel data management, and a streamlined graphics interface that puts settings at your fingertips.
Transform Data Without Writing Code
The new Transform Tab in the Symbol Editor lets you apply common data transformations interactively. Select a column, choose a transformation, preview the results, and apply—all without leaving the editor.
Available transformations include:
- Numeric columns: logarithm, exponential, square root, absolute value, standardize, normalize, lag, first difference, percent change, cumulative sum, moving average, replace missing values
- String columns: lowercase, uppercase, trim, text replacement
- Date columns: extract year, month, day, quarter, week, hour, minute, second
The Transform Tab generates the equivalent GAUSS code for each operation, making it easy to incorporate your transformations into production scripts.
Aggregate Time Series to Any Frequency
The new tsAggregate function converts time series data from higher to lower frequencies with flexible aggregation methods. Whether you're downsampling tick data to daily observations or converting monthly series to quarterly, tsAggregate handles the date alignment automatically.
// Load daily stock data
data = loadd("daily_prices.csv", "date(Date) + Price + Volume");
// Aggregate to monthly: last price, total volume
monthly = tsAggregate(data, "monthly", "last" $| "sum");
Supported frequencies include second, minute, hourly, daily, monthly, quarterly, and yearly. Aggregation methods include last, first, mean, sum, max, min, median, standard deviation, count, and mode—applied per column as needed.
Balance Panel Datasets
Working with unbalanced panels often requires preprocessing before estimation. The new pdBalance function standardizes your panel so each group has identical time coverage, either by filling gaps or removing incomplete cases.
// Ensure all firms have the same observation periods
balanced_panel = pdBalance(panel_data, "fill");
This pairs well with existing panel data tools like pdLag and pdSummary introduced in GAUSS 25.
Multicolumn Aggregation
// Find max tips by 'day' and 'time'
method = "max";
variables = "day" $| "time";
max_tips = aggregate(tips, method, variables);
print max_tips;
day time total_bill tip Thur Lunch 43.110000 6.7000000 Thur Dinner 18.780000 3.0000000 Fri Lunch 16.270000 3.4800000 Fri Dinner 40.170000 4.7300000 Sat Dinner 50.810000 10.000000 Sun Dinner 48.170000 6.5000000
Cleaner Plotting Code with String Parameters
Graphics functions now accept descriptive string names in place of numeric codes. This makes your plotting code self-documenting and eliminates trips to the documentation to look up symbol or line style values.
// Before: numeric codes require documentation lookup
plotSetLineStyle(&p, 3);
plotSetLineSymbol(&p, 5);
plotSetFill(&p, 2);
// After: intent is clear from the code
plotSetLineStyle(&p, "dash");
plotSetLineSymbol(&p, "diamond");
plotSetFill(&p, "horizontal");
This enhancement applies to plotSetLineSymbol, plotSetFill, plotSetLineStyle, and plotSetLinePen. Numeric codes continue to work for backward compatibility.
Unified Graphics Settings Panel
The Graphics page now combines Graph Settings and Canvas Settings into a single tabbed interface. Tabs for Axes, Lines, Symbols, Text, and Canvas organize options logically, and a new toolbar toggle provides quick access.
Faster Navigation with Filter Widgets
New filter widgets on the Command page and Data page let you search as you type. Press Ctrl+K (Cmd+K on macOS) to activate filtering, then start typing to narrow results instantly.
The Open Symbol dialog on the Data page now includes autocomplete, suggesting matching symbol names as you type.
Additional Enhancements
sortcandsortmcaccept asort_orderparameter for ascending (1) or descending (-1) sortingstrrindxaccepts vector input for the search pattern- New
endswithfunction complementsstartsWithfor string pattern matching - Symbol Editor filtering adds "Starts With", "Does Not Start With", "Ends With", and "Does Not End With" options
- New button on Edit and Debug pages opens symbols directly in the Symbol Editor
- Package Manager provides detailed error messages with specific troubleshooting steps
Get Started with GAUSS 26
GAUSS 26 is a free update for users with active maintenance.
